我想在jQuery手风琴中添加H3标签的内容到兄弟DIV中图像的“alt”文本。我尝试了各种方法但没有成功,这段代码对我来说似乎合乎逻辑,但仍然无效。有人能指出我正确的方向吗?
这是(简化的)HTML:
<div id="accordion">
<h3>Some stuff here</h3>
<div>
<img src="some_place.jpg" width="100" height="100">
</div>
...(repeat several times)
</div>
这是jQuery代码:
$( document ).ready(function() {
$( "#accordion" ).accordion();
$( "img" ).each(function() {
var $title = $(this).prev( "h3" ).text();
$(this).attr( "alt", $title )
});
});
这段代码对我来说似乎有用,但bupkiss ...这里是浏览器中的图片代码:
<img src="some_place.jpg" width="100" height="100" alt>
答案 0 :(得分:2)
$(this).prev( "h3" ).text();
无法工作,因为它选择了前一个元素,并且没有相对于图像的元素。而是使用:
$(this).parent().prev("h3").text();
<强> jsFiddle example 强>
答案 1 :(得分:0)
Isherwood&amp;大卫是对的:j08691是正确的。我没注意到DIV是H3标签的兄弟。