为什么 closest() 选择器在这种情况下不起作用
Why won't the closest() selector work in this instance?
我正在尝试在单击单选按钮时激活特定图像上的 toggleClass((。多年来我一直在努力让它工作,但不能。我可以设法选择单选按钮的父元素,但没有进行任何操作。我已经尝试了next((,nextAll((和closest((。所有这些似乎都不符合我想要实现的目标。
这是我的jQuery函数:
$(document).ready(function() {
$("input[type=radio]").change(function () {
if (this.value == "AM") {
$(this).closest('img[title="am"]').toggleClass('houdini');
} else if (this.value == "PM") {
alert('PM');
/* Something here */
} else {
return false();
}
});
});
和我的 HTML:
<tr>
<td><input type="radio" name="bisley" value="AM" />AM<input type="radio" name="bisley" value="PM" />PM<span class="compname">Bisley</span></td>
<td>Fit more into less space</td>
<td class="time"><img src="/images/generic/openday/tick.png" alt="tick" title="am" class="houdini" />10.00AM</td>
<td class="time"><img src="/images/generic/openday/tick.png" alt="tick" title="pm" class="houdini" />1.30PM</td>
</tr>
closest
搜索祖先元素; next
和nextAll
搜索同级元素。所需的img
元素是同级元素的子元素,因此需要更复杂的语句。 试一试:
$(this).closest('tr').find('img[title="am"]').toggleClass('houdini');
这说"找到最接近的祖先tr
元素,然后在其中找到img[title="am"]
。
更改为
$(this).parent().children('img[title="am"]').toggleClass('houdini');
查看演示
相关文章:
- 为什么jQuery悬停方法在这种情况下不起作用
- 为什么push方法没有'在这种情况下不起作用:[].推
- 倒计时在某些情况下不起作用
- res.download()在我的情况下不起作用
- 为什么getElementbyId在这种情况下不起作用
- $animate.removeClass 在没有 $evalAsync inside 指令的情况下不起作用
- 为什么 array.indexOf(undefined) 在数组稀疏的情况下不起作用
- 多次点击功能在不重新加载页面的情况下不起作用
- 数据绑定在特定情况下不起作用(AngularJS)
- 为什么原型JavaScript在这种情况下不起作用
- 为什么隐藏/显示(向上滑动/向下滑动)在这种情况下不起作用
- 为什么表单序列化在这种情况下不起作用
- Jquery .hide在这种情况下不起作用
- 为什么'this'在这种情况下不起作用
- 为什么我的正则表达式在这种特殊情况下不起作用
- 为什么jQuery元素[]选择器在这种情况下不起作用?
- 为什么td最大宽度在这种情况下不起作用
- 为什么 closest() 选择器在这种情况下不起作用
- 为什么点击
在这种情况下不起作用 - AngularJs$无效;在这种情况下不起作用