2012-08-01 27 views
0

我有以下HTML结构:jQuery选择 - 标签的改变属性在位于一个共同的父标签下的另一个标签,当点击

<div> 
<button> 
<img src="img/a.png" /> 
</button> 
<h2>Title</h2> 
</div> 

我想实现的行为是,在用户点击时在h2标题上,按钮字段中的图像会发生变化。我曾尝试以下的jQuery代码,但它不会工作,我会很高兴,如果有人可以帮助我指出我哪里错了:

$('h2').click(function(){ 
    $(this).parentsUntil('div').children('button').children('img').attr('src','img/b.png'); 
}); 

非常感谢提前

+1

'parentsUntil()'将获得所有父母*直到*'div''。所以,在“div”之前,父母是零。你只需要'parent()'。 – 2012-08-01 15:41:16

回答

3
$('h2').click(function(){ 
    $(this).siblings('button').children('img').attr('src','img/b.png'); 
}); 

,当然你习惯小提琴:http://jsfiddle.net/UbMyW/

1

试试这个一点点简单的

$('h2').click(function(){ 
    $(this).parent().find('img').attr('src','img/b.png'); 
}); 

看到这里的例子http://jsfiddle.net/kXjPY/1/

相关问题