2014-05-12 5 views
-1

У меня есть навигация, что мне нужно добавить динамическое число <br>, потому что используемая нами CMS не позволяет этого.jQuery запрещает дочерние записи

Но это влияет на все дочерние элементы на выпадающем списке.

Вот основной HTML

<li class="dropdown yamm-fw" id="tab1"><a href="#" data-toggle="dropdown" class="dropdown-toggle">Shop By Brand</a> 
    <ul class="dropdown-menu"> 
     <ul class="col-sm-2 megaDropDown"> 
      <li><a href="#">List Item</a></li> 
      <li><a href="#">List Item</a></li> 
      <li><a href="#">List Item</a></li> 
      <li><a href="#">List Item</a></li> 
      <li><a href="#">List Item</a></li> 
      <li><a href="#">List Item</a></li> 
     </ul> 
    </ul> 
</li> 

А вот и JS, что добавляющие <br>

$(function(){ 
    $('#tab1 a').each(function(index) { 
     var aHtml = $(this).html(); 
     var pos = aHtml.lastIndexOf(' '); 
     aHtml = aHtml.substring(0,pos) + '<br/>' + aHtml.substring(pos+1) 
     $(this).html(aHtml); 
    }); 
}); 

Но я хочу, чтобы повлиять Tab1 на только ничего на выпадающем списке. У меня есть скрипка создала здесь http://jsfiddle.net/6CTY8/

ответ

2

child selector.

От Docs:

Selects all direct child elements specified by "child" of elements specified 
by "parent". 

Попробуйте это:

$('#tab1 > a').each(function(index) { 
     //YOUR CODE GOES HERE 
}); 

DEMO

+0

оцените помощь! отлично работал ... – Travis

+0

@ FrédéricHamidi: Обновлено Bro. :) – Unknown

+0

@Travis: Рад, что это помогло Bro :) – Unknown

3

$('#tab1 > a').each(function(index) {

Использование > сделает используются уверены только прямые потомки.

Вот и скрипка. http://jsfiddle.net/6CTY8/2/

+0

отлично я приму ответ, как только SO позволит мне. Отлично! – Travis

Смежные вопросы