在div中找到img并阅读alt文本

时间:2013-06-10 19:32:58

标签: jquery html

我想在动画<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>"); 
        }
    );

但遗憾的是它不起作用。

3 个答案:

答案 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