我在选择任何复选框时尝试选择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>
Run Code Online (Sandbox Code Playgroud)
以下返回undefined;
$(this).closest("div:hidden").attr("id")
Run Code Online (Sandbox Code Playgroud)
有帮助吗?
这是因为.closest沿着dom树行进你想要的东西; 是得到ul元素然后得到div:hidden 兄弟:
$(this).closest("ul").siblings("div:hidden").attr("id");
Run Code Online (Sandbox Code Playgroud)
这基于this指的是孩子,孙子,曾孙子,ul元素的N子.
正如TJ Crowder指出的那样,只有当div是兄弟的兄弟而不是兄弟的子节点时,这才会起作用:这个片段寻找兄弟姐妹的子节点:
$(this).closest("ul").siblings().find("div:hidden").attr("id");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2564 次 |
| 最近记录: |