我的HTML看起来像:
<a href="..." id="a1">
<img src="..." style="display: block;">
<img src="..." style="display: none;">
</a>
现在单击a1时,我想切换所有图像。
我试过了:
$("#a1").click(function() {
$(this).find("img").each( function() {
$(this).toggle();
});
});
但它不起作用。找到只找到第一个找到的元素?
为什么?
答案 0 :(得分:3)
您需要从点击处理程序return false
,否则点击时将会跟踪超链接。
此外,您不需要each
,toggle
上的简单调用find
也可以解决问题。
这有效:
$("#a1").click(function() {
$(this).find("img").toggle();
return false;
});
答案 1 :(得分:0)
单击元素#a1时会执行以下代码,它将切换作为#a1后代的所有图像。
$("#a1").click(function() {
$("#a1 img").toggle();
});
return false;
});
答案 2 :(得分:0)
试试这个
$("#a1").click(function() {
$(this).find("img").toggle();return false;
});