jQuery - 选择父对象

时间:2014-05-27 10:31:41

标签: jquery navigation parent

我有像

这样的导航结构
<ul class="layer-1">
 <li>
   <ul>
    <li>back</li>
    <li>item-1</li>
    <li>item-2</li>
   </ul>
 </li>
 <li>item-2</li>
 <li>item-3</li>
</ul>

我希望后退按钮在父<ul class="layer-1">上生效。比如点击<ul class="layer-1 active">

将其更改为<li>back</li>

4 个答案:

答案 0 :(得分:2)

我建议你使用:

.closest(".layer-1");

JSFiddle

编辑:用户现在想要添加“活动”类。只需将我的JSFiddle中的代码从“绿色”更改为“活动”。

答案 1 :(得分:0)

您可以尝试:

.closest(".layer-1")

或:

.find(".layer-1")

http://api.jquery.com/closest/

http://api.jquery.com/find/

答案 2 :(得分:0)

您需要在后退列表中分配类,并执行以下操作:

$('.back').on('click',function(){
  $(this).closest('.layer-1').addClass('active');
  // you wish to use toggleClass instead of addClass
});

或者,如果你的最终标记,那么你可以使用它:

$('.layer-1 ul li:first-child').on('click',function(){
  $(this).closest('.layer-1').addClass('active');
  // you wish to use toggleClass instead of addClass
});

答案 3 :(得分:0)

你可以使用以下代码:

<ul class="layer-1">
 <li>
   <ul class="asd">
    <li class="tee">back</li>
    <li>...</li>
    <li>...</li>
   </ul>
 </li>
 <li>...</li>
 <li>...</li>
</ul>

在js代码中:     $(&#39; .tee&#39;)。click(function(){      的console.log($(本).closest(&#39; UL&#39;)最接近(&#39;李&#39;)父()ATTR(&#39;类&#39;));         });