以下代码仅适用于第一个div。当我点击其他“img”时,我无法显示其他div。 你知道一种方法来达到第二个(下一个)元素吗?
$(document).ready(function() {
$('.imgOpenClose').click(function() {
if ($(this).attr("src") == "images/openTree.gif") {
$(this).attr("src", "images/closeTree.gif");
$(this).parent().find('div').eq(0).show();
}
else {
$(this).attr("src", "images/openTree.gif");
$(this).parent().find('div').eq(0).hide();
}
});
});
答案 0 :(得分:2)
由于您在图片后面有一个中断元素,因此您需要使用nextAll并选择第一个DIV,而不是像我原来的答案那样只使用带有过滤器的next
。
$('.imgOpenClose').click( function() {
$(this).nextAll('div:first').toggle();
});
答案 1 :(得分:1)
如果您有多个具有相同类标记的图像,您仍然可以执行此操作而无需附加唯一ID:
$(function() {
$('.imgOpenClose').click(function() {
$(this).next('div').children('table').toggle();
});
});