2013-08-20 2 views
0

В теме wordpress я использую функцию wp_list_pages(), чтобы сгенерировать список страниц и их работу отлично, но мне нужна помощь в том, чтобы сделать одну из ссылок лишней.JQuery, удалить href только от родителя li

Это то, что wp_list_pages выводит и один, что мне нужно изменить:

<li class="page_item page-item-12"><a href="http://mysite.com/page3">Page 3</a> 
    <ul> 
    <li><a href="http://mysite.com/page4">Page 4</a></li> 
</ul> 
</li> 

Я хотел бы, чтобы это было

<li class="page_item page-item-12">Page 3 
<ul> 
<li><a >Page 4</a></li> 
</ul> 
</li> 

Это JQuery, что я использую:

<script> 
$(document).ready(function() { 

$(".page-item-12 a").removeAttr("href"); 
}); 
</script> 

Однако JQuery удаляет ссылки со всех < li> в дочернем элементе ul. ну, чего я не хочу.

Заранее спасибо.

ответ

3

Попробуйте

$('ul').find('li:has(ul)').children('a').removeAttr('href') 

Демо: Fiddle

+0

Это удаляет все ссылки и не оставляет текст, который необходимо, чтобы пользователь мог навести курсор мыши и видеть вторичный < UL> – Danienllxxox

+0

@MarkPetherbridge см. обновление ate –

+0

@MarkPetherbridge вы хотите сохранить элемент 'a' без' href' или его можно удалить? Для 'Страница 3' вы удалили' a', но для 'Page 4' вы сохранили' a', но удалили 'href', что правильно –

0

Используйте селектор ребенка для этого:

<script> 
$(document).ready(function() { 

$(".page-item-12>a").removeAttr("href"); 
}); 
</script> 
Смежные вопросы