当选择任何复选框时,我正在尝试选择id =B的div
<div id="a"><div style="display:none;" id="B"></div></div>
<ul>
<li><input type='checkbox'></li>
<li><input type='checkbox'></li>
<li><input type='checkbox'></li>
</ul>下面的代码返回undefined;
$(this).closest("div:hidden").attr("id")有什么帮助吗?
发布于 2013-06-17 16:07:12
这是因为.closest遍历dom树,您想要的是获取ul元素,然后获取div:hidden sibling。
$(this).closest("ul").siblings("div:hidden").attr("id");这是基于this引用ul元素的子元素、孙子元素、曾孙元素、N子元素。
正如T.J.Crowder所指出的那样,只有当div是ul的同级而不是同级的子节点时,这才能起作用:以下代码片段查找同级的子节点:
$(this).closest("ul").siblings().find("div:hidden").attr("id");https://stackoverflow.com/questions/17142914
复制相似问题