单击图像时,切换所有内部图像

时间:2011-08-15 14:52:24

标签: jquery

我的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();
  });
});

但它不起作用。找到只找到第一个找到的元素?

为什么?

3 个答案:

答案 0 :(得分:3)

您需要从点击处理程序return false,否则点击时将会跟踪超链接。

此外,您不需要eachtoggle上的简单调用find也可以解决问题。

这有效:

$("#a1").click(function() {
  $(this).find("img").toggle();
    return false;
});

Demo

答案 1 :(得分:0)

单击元素#a1时会执行以下代码,它将切换作为#a1后代的所有图像。

$("#a1").click(function() {
  $("#a1 img").toggle();
  });
  return false;
});

答案 2 :(得分:0)

试试这个

$("#a1").click(function() {
  $(this).find("img").toggle();return false;
});