如何使用jquery获取子项的特定优势。?
我有下面的html列表如何使用jquery获取子项的特定优势。?,jquery,Jquery,我有下面的html列表 <ol id="queryList"> <li id="queryLi1"> <span class="contentParent">First Level</span> <ul class="content"> <li id="innerList594" class="content"> Second Level
<ol id="queryList">
<li id="queryLi1">
<span class="contentParent">First Level</span>
<ul class="content">
<li id="innerList594" class="content">
Second Level
<ul class="content">
<li>
Third Level
<textarea id="text1" cols="3" style="width: 250px"></textarea>
<input id="button1" type="button" value="Save" >
</li>
</ul>
</li>
</ul>
</li>
<li id="queryLi2">
<span class="contentParent">First Level</span>
<ul class="content">
<li id="innerList525" class="content">
Second Level
<ul class="content">
<li>
Third Level
<textarea id="text2" cols="3" style="width: 250px"></textarea>
<input id="button2" type="button" value="Save">
</li>
</ul>
</li>
</ul>
</li>
.
.
.(etc.,)
但是我没有明白。。有人能帮我吗..
.contentParent
不是直系亲属,您需要找到最近的公共父级,然后从那里遍历:
var ascende = $(this).closest('#queryLi1').find('.contentParent');
如果需要对许多项执行此操作,请在最外层的LI
中添加一个类名,并使用类选择器,而不是\queryly1
或者,找到一个兄弟,然后遍历,f.ex:
var ascende = $(this).parents('ul').slice(-1).prev();
您可以使用.parents()jquery方法
$(this).parents('.contentParent');
这将检索第一个找到的祖先。这里有一个小把戏:你可以通过获取一个包含类
内容的父类列表,并获取最后一个,然后在类contentParent
中检查该父类的同级。这确实假设在dom的更上层不再有ul
元素具有content
类
var span = $(this)
.parents('ul.content')
.last()
.siblings('span.contentParent');
如果您打算制作一个JSFIDLE来证明您的答案是正确的,那么您可能需要实际使用问题中发布的html。此外,答案是错误的,因为contentParent span不是示例中按钮的父级。非常感谢@David。。这很有帮助。
var span = $(this)
.parents('ul.content')
.last()
.siblings('span.contentParent');