Jquery 用同级中的ALT文本填充H3标记-->;子IMG标签

Jquery 用同级中的ALT文本填充H3标记-->;子IMG标签,jquery,Jquery,多亏了其他有帮助的人,我学会了如何在jQuery手风琴中填充图像的IMG ALT属性。现在我想做相反的事情:从一组图像中提取ALT文本,并填充父H3标记。以下是HTML: <div id="accordion"> <h3></h3> <div> <img src="some_place.jpg" width="100" height="100" alt="Some stuff here"> <

多亏了其他有帮助的人,我学会了如何在jQuery手风琴中填充图像的IMG ALT属性。现在我想做相反的事情:从一组图像中提取ALT文本,并填充父H3标记。以下是HTML:

<div id="accordion">
    <h3></h3>
    <div>
        <img src="some_place.jpg" width="100" height="100" alt="Some stuff here">
    </div>
    <h3></h3>
    <div>
        <img src="some_place.jpg" width="100" height="100" alt="Some other stuff here">
    </div>
    ...(repeat several times)
</div>
这是可行的,但仅通过使用第一幅图像中的ALT标记填充所有H3标记。也就是说,所有H3标签上都有文本“这里有些东西”


我做错了什么?我是否应该以某种方式将所有ALT文本放入一个数组中,然后将其反馈?我的每一次尝试都会破坏页面(没有数组,没有手风琴)。

你需要在每个页面中使用
this
而不是
h3
<代码>此引用当前元素

使用


您可以尝试以下代码:

$("h3").text( function() {
    return $(this).next().children("img").attr("alt");
});

$("h3").each(function() {
    var $title = $(this).siblings().children("img").attr("alt");
    $(this).text($title); //Use this here
});
$("h3").text( function() {
    return $(this).next().children("img").attr("alt");
});