jquery最接近的dl元素
HTML:
<dl id="feature-list">
<dt id="basic" class="category-name">
<dd id="basic-toggle" class="category-recepient">
<div class="feature">
<div class="feature-content">
<input id="checkbox1" type="checkbox">
</div>
</div>
</dd>
<dt id="options" class="category-name">
<dd id="options-toggle" class="category-recepient">
<div class="feature">
<div class="feature-content">
<input id="checkbox2" type="checkbox">
</div>
</div>
</dd>
</dl>
JQUERY
$('input').change(function () {
var value = $(this).closest("dt");
//do something with value.id
});
$(this).closest("dt")
返回复选框而不是
我尝试了 $(this).closest(.category-name)
, $(this).closest("dt").find(.category-name)
HTML:
<dl id="feature-list">
<dt id="basic" class="category-name">
<dd id="basic-toggle" class="category-recepient">
<div class="feature">
<div class="feature-content">
<input id="checkbox1" type="checkbox">
</div>
</div>
</dd>
<dt id="options" class="category-name">
<dd id="options-toggle" class="category-recepient">
<div class="feature">
<div class="feature-content">
<input id="checkbox2" type="checkbox">
</div>
</div>
</dd>
</dl>
JQUERY
$('input').change(function () {
var value = $(this).closest("dt");
//do something with value.id
});
$(this).closest("dt")
returns the checkbox instead of <dt id="(category)" class="category-name">
I tried $(this).closest(.category-name)
, $(this).closest("dt").find(.category-name)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
不是
<dt>
is not an ancestor of<dd>
, so closest() will never find it.尝试:
演示: http://jsfiddle.net/fJkUq/
您还需要关闭
< ;dt>
标记,它们不应包含,但应与其相邻。
Try:
Demo: http://jsfiddle.net/fJkUq/
You also need to close your
<dt>
tags, they should not be containing the<dd>
, but adjacent to them.