-3

我有一个清单:

<ul>
   <li class="left-main-list"><a href="#">Whatnot</a></li>
   <li class="left-main-list active"><a href="#">Whatnot1</a></li>
      <ul class="random">
         <li><a href="#">BK Sang, Oxelesund</a></li>
         <li><a href="#">Boxholms BS</a></li>
      </ul>
   <li class="left-main-list"><a href="#">Whatnot2</a></li>
</ul>

首先我想知道,第二个<ul class="random">是上面列表项的孩子吗?

如果是这样,我想做一个 if 语句,说如果有人点击一个类的项目,"left-main-list"我想看看他们的孩子是否有一个类,如果没有,我想添加一个类(“随机”)给那个孩子。

如果这实际上不是一个孩子,我想要一种方法来检查第二个 ul 是否有一个类,如果没有,将“随机”添加到那个 ul。我猜如果它不是上面列表项的子项,我将不得不给它一个 id?

任何帮助将不胜感激!/账单

4

2 回答 2

3

您的 HTML 无效 UL 不能包含另一个 UL。这会将类添加random到根本没有任何类的 li.left-main-list 的子项中。

http://jsfiddle.net/MERF5/

<ul>
   <li class="left-main-list"><a href="#">Whatnot</a></li>
   <li class="left-main-list active"><a href="#">Whatnot1</a>
      <ul>
         <li><a href="#">BK Sang, Oxelesund</a></li>
         <li><a href="#">Boxholms BS</a></li>
      </ul>
       </li>
   <li class="left-main-list"><a href="#">Whatnot2</a></li>
</ul>


$('.left-main-list').click(function(){
    $(this).children(':not([class])').addClass('random')
});
于 2013-04-30T22:58:24.787 回答
0

请注意,rour HTML 无效,第二个ul应该在li元素内。

此外,您不必element在添加该类之前检查它是否具有特定类。如果元素已经具有指定的类,jQuery 将不会添加重复的类。

但是,以下是在(我假设)下没有类的情况下如何找到ul元素:.randomlithisli

$(this).children('ul:not(.random)');
于 2013-04-30T22:56:57.153 回答