我想在动画<div class="text_slider">
中找到一张图片并阅读它的alt=""
。
<div id="slider">
<img src="1.png" alt="this is the first image" />
<img src="2.png" alt="this is the second image" />
</div>
我的尝试是:
function afterPic() {
$('.text_slider').animate({
opacity: 0.25,
height: 'toggle'
}, 1000,
function() {
$('.text_slider').html("<p style='z-index: 9998;'>"
+ $('#slider').find('img').this.alt +"</p>");
}
);
但遗憾的是它不起作用。
答案 0 :(得分:2)
您忘记了'#slider'
周围的引号并且使用jQuery错误...
它可以解决问题:$('#slider').find('img').attr('alt')
答案 1 :(得分:2)
好的,有两件事。
您引用标记中不存在的类.text_slider
,并且您的div的ID为#slider
。要在jQuery中获取alt
,您应该使用prop()
函数。 alt
是JavaScript DOM对象的属性,而不是jQuery对象。
function afterPic() {
$('.text_slider').animate({
opacity: 0.25,
height: 'toggle'
}, 1000, function() {
$('.text_slider').html("<p style='z-index: 99998;'>" +
$('#slider').find('img').prop('alt') + ":</p>");
});
}
答案 2 :(得分:1)
DEMO:http://jsfiddle.net/abc123/FJfTb/
要在另一个项目下查找项目,您应始终应用父选择器:
$('#slider > img').attr('alt');
&gt;表明#slider是img的父级。
HTML:
<div id="slider">
<img src="1.png" alt="this is the first image" />
<img src="2.png" alt="this is the second image" />
</div>
JS:
alert($('#slider > img').attr('alt'));
从jQuery 1.6开始,.prop()方法提供了一种显式检索属性值的方法,而.attr()则检索属性。因此,如果您使用的是比1.6更新的jQuery,请将prop替换为prop