2015-03-09 3 views
0

У меня есть сайт под prestashop, и мое выпадающее меню имеет разные категории, которые можно кликать. Я хотел бы удалить ссылки из категорий «Маркиз» и «Лес Гаммес» и оставить только текст. Я использую функцию each(), чтобы выбрать все мои категории, но это возвращает массив в пределах li и ul внутри li.Javascript each() function remove link

Адрес JSFiddle.

Вот код JS:

$('jms-mega-menu').ready(function() { 
// Get each div 
$('.notlink').each(function() { 
    // Get the content 
    var str = $(this).text(); 
    $(this).html(str); 
}); 
}); 

А вот пример моего кода HTML. Вы можете найти полный код на скрипке.

<ul jms-mega-menu> 
<div> 
    ... 
    <ul class="mega-nav level1"> 
    <li class=" haschild group notlink"><a id="item-8" href="#">Marques</a> 
    <ul> 
     <li><a id="item-9" href="#">Apple</a></li> 
     <li><a id="item-10" href="#">Samsung</a></li> 
    </ul> 
    </li> 
    </ul> 
    <ul> 
    ... 
+0

ли вы имеете в виду '» .notlink: с first'', чтобы получить первый текст ссылки? – Andy

ответ

1

Одно решение было бы использовать unwrap удалить a тег из всего текста. Обратите внимание на использование .notlink > a только влияет на якоря, которые являются прямыми потомками .notlink и не вложенные списки:

$('.notlink > a').contents().unwrap(); 

http://jsfiddle.net/orvrj7qs/5/

Другой вариант, который может быть немного более расширяемым было бы использовать replaceWith, которые позволит вам внести дополнительные изменения в текст, если это необходимо:

$('.notlink > a').replaceWith(function(){ 
    return $(this).text(); 
}); 

в этом случае мы просто заменить якорь только с текстом внутри якоря.

http://jsfiddle.net/orvrj7qs/6/

+0

Отлично! Большое спасибо и так быстро. Спасибо. Я не знал метод разворота. Есть ли тег SOLVED, чтобы добавить к моему вопросу? Или я должен положить его вручную? – Retiixx

+0

Счастливые помочь. На SO, вы отмечаете свой вопрос как «решаемый», принимая ответ. Вы можете увидеть описание того, как это работает здесь: http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work –