感谢其他有用的人,我学会了如何在jQuery Accordion中填充图像的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>
这是我的jQuery代码:
$( document ).ready(function() {
$( "#accordion" ).accordion();
$("h3").each(function() {
var $title = $(this).siblings().children("img").attr("alt");
$("h3").text($title)
});
});
这是有效的,但只能通过使用第一张图像中的ALT标记填充所有H3标签。即,所有H3标签都有文字&#34;有些东西在这里&#34;。
我做错了什么?我应该以某种方式将所有ALT文本放入一个数组中,然后将其反馈?我所做的每一次尝试都打破了页面(没有数组,没有手风琴。)
答案 0 :(得分:1)
您需要在每个内部使用this
而不是h3
。 this
指的是当前元素
使用
$("h3").each(function() {
var $title = $(this).siblings().children("img").attr("alt");
$(this).text($title); //Use this here
});
答案 1 :(得分:0)
您可以尝试以下代码:
$("h3").text( function() {
return $(this).next().children("img").attr("alt");
});
<强> JSFiddel 强>