MC-XOBAHCK,
твои слова просто улыбнули, и напомнили кучу анекдотов про блонди, так что извинения излишни. |
Nexus, Malleys, помогите исправить этот скрипт
<script> document.addEventListener('DOMContentLoaded',function() { //const uriWithoutParams=location.pathname.split(/[#|?]+/i).shift(); var uriWithoutParams = '/menu/css/css3/transform.html'.split(/[#|?]+/i).shift(); var extension = uriWithoutParams.split('.').pop(); var uriParts = uriWithoutParams.replace('.' + extension, '').split('/').filter(function(part) { return part.length; }); var getClassName = function(index) { return 'xyz' + index; }; var maxPostfix = 5; uriParts.forEach(function(uri, index) { uri = '/' + uriParts.slice(0, ++index).join('/') + '.' + extension; index = maxPostfix - (uriParts.length - index); if (index <= 0) return; var className = getClassName(index); [].forEach.call(document.querySelectorAll('a[href="' + uri + '"]'), function(node) { node.classList.add(className); if (index !== maxPostfix) return; var textNode = document.createElement('span'); textNode.textContent = node.textContent; textNode.className = className; node.parentNode.insertBefore(textNode, node); node.parentNode.removeChild(node); }); }); }); </script> |
9-12 строчки заменить на массив ['xyz1', 'xyz2', 'xyz3', 'xyz4', 'xyz5']
|
как сделать массив?
|
Вы имеете в виду так?
var getClassName = function(index) { return ['xyz1', 'xyz2', 'xyz3', 'xyz4', 'xyz5'][index]; }; А я думаю так! function getClassName(index) { return 'xyz' + (index + 1); }; Вам не учебник надо создавать, а учебник надо читать! https://learn.javascript.ru/ Вы уж не сердитесь, но вы такое читали? И почему вы всегда всё пишете в один столбик? И даже если вам в примере напечатают код с отступами, вы все сворачиваете в одну сплошную простыню! (помните про маятник!) Рулоны кода! |
Цитата:
|
Nexus,
насколько я поняла, если создать массив, то спан должен быть последним в массиве? возможно ли сделать чтобы было наоборот, сначала в массиве идёт наибольшее вложение и дальше по убыванию? и второй вопрос, можно ли сделать чтобы скрипт автоматически считал количество объектов в массиве и вставлял в 12 строку? |
Цитата:
Цитата:
Цитата:
|
1. Ссылка которая заменяется на спан, тоесть самая последняя (с макс вложенностью.
3. В массиве (пост 55), объектов(ссылок), да переменной maxPostfix. |
9-11 строчки если заменить на массив
var getClassName = function(index) { return ['xyz1', 'xyz2', 'xyz3', 'xyz4', 'xyz5'][index]; };в котором пять объектов-ссылок с именами классов xyz* |
Часовой пояс GMT +3, время: 20:19. |