我对这个问题感到困惑,我想知道'li'是否有孩子'ul'。我控制(使用附加到'span'元素的onclick事件)'li'的所有子项(使用.children()方法)和'ul'列出但是当我使用.find()方法时它返回0长度。
这是我的代码:
HTML:
<div>
<ul>
<li><input type="checkbox"/><span>LIST ONE</span></li>
<li>
<input type="checkbox"/> <span>LIST TWO</span>
<ul>
<li><input type="checkbox"/> <span onclick="myFunc(this)">SUB LIST ONE</span></li>
<li><input type="checkbox"/> <span>SUB LIST TWO</span></li>
</ul>
</li>
</ul>
</div>
JS:
function myFunc(el){
var x = $(el).parent(); //the li
var xx = $(x).parent().parent(); //the parent the ul
console.log($(xx).children()); //ul will be listed here
console.log($(xx).children().find('ul')); //this return 0 length which I believe ul is not found
}
这里到底发生了什么?谢谢您的帮助! (jquery newbee)
答案 0 :(得分:0)
您可以使用$('xx').find('ul')
查找ul或$('xx').closest('ul')
答案 1 :(得分:0)
您在代码中过于讨厌,此解决方案不具备可扩展性,但在此示例中有效,例如,如何选择ul
function myFunc(el){
// Grabs the <span> tag
var x = $(el).parent().parent();
// Creates a jQuery object out of the list item above.
console.log(x)
}