无法将图像附加到下一个匹配的类

时间:2013-06-14 10:55:17

标签: jquery

我正在尝试将图像附加到距离所点击链接最近的另一个div。 我只想将图片附加到下一个匹配的类,而不是全部

这就是我的html的样子

<div id="container">

<div class="product">
<div class="link_wrap"><a class="expand">link 1</a></div>
<div class="flyer"></div>
</div

<div class="product">
<div class="link_wrap"><a class="expand">link 2</a></div>
<div class="flyer"></div>
</div

<div class="product">
<div class="link_wrap"><a class="expand">link 3</a></div>
<div class="flyer"></div>
</div

</div>

这是我的js

$("#container").on("click",".expand",{foo: "hello"}, expandHandler);

function expandHandler(event) {
alert('clicked');
$(this).closest("div.flyer").append("<b>Hey!</b>");
}

JS fiddle

我的所有内容都是动态生成的,因此我强制使用on()。可能会调用该函数。我尝试过替换最接近孩子和下一个但没有运气我不能让它工作。我感谢任何帮助!

1 个答案:

答案 0 :(得分:2)

您想要的是选择所点击的a元素的父级旁边的div:

$(this).parent().next("div.flyer").append("<b>Hey!</b>");

为了在HTML更改时更加可靠,您可能还想在同一div.flier中选择div.product元素:

$(this).closest('.product').find(".flyer").append("<b>Hey!</b>");