在.each函数中更改SRC的值

时间:2013-07-05 11:11:07

标签: jquery

我试图获取元素的值,然后使用.each()函数在同一父元素中的另一个元素中使用它。但是,这似乎不起作用。这是我正在使用的代码。请告诉我我在哪里做错了。

HTML:

<table>
    <tr class="item">
        <td>
            <img class="thumbnail" src="http://www.domain.com/images/image1.jpg">
        </td>
        <td>
            <p class="img">http://www.domain.com/images/image001.jpg</p>
        </td>
    </tr>
    <tr class="item">
        <td>
            <img class="thumbnail" src="http://www.domain.com/images/image2.jpg">
        </td>
        <td>
            <p class="img">http://www.domain.com/images/image002.jpg</p>
        </td>
    </tr>
</table>

JavaScript的:

<script type="text/javascript">
    $(document).ready(function() {
        $('.item').each(function() {
            $(this).find('.thumbnail').attr('src', $(this).find('.img').html());
        )}; 
    )};
</script>

我想要做的是获取<p class="img">的html(其中包含图片的网址),并在页面加载时更改src的{​​{1}}。

请帮忙

5 个答案:

答案 0 :(得分:1)

Fiddle

您的代码中出现了小错字错误。函数});的关闭类似于)};,倒置};

首选[{1}}代替.prop,您可以阅读更多here

.attr

答案 1 :(得分:1)

$(document).ready(function() {
     $('.item').each(function() {
         $(this).find('.thumbnail').prop('src', $(this).find('.img').html());
     }); 
});

最后,您有)};而不是});。此外,.prop优先于.attr。引自.prop documentation

  

属性和属性之间的区别非常重要   具体情况。在jQuery 1.6之前,有时会使用.attr()方法   在检索某些属性时考虑了属性值,   这可能会导致行为不一致。截至jQuery 1.6,   .prop()方法提供了一种显式检索属性的方法   值{,.attr()检索属性。

<小时/> 应该注意的是,在您的特定情况下,您在页面加载后加载图像在jQuery触发后加载。这会导致用户出现巨大延迟。缩略图的加载速度比大图像快,但至少会有一个破损的图像闪烁。

答案 2 :(得分:0)

错误错误

<script type="text/javascript">
        $(document).ready(function () {
            $('.item').each(function () {
                $(this).find('.thumbnail').attr('src', $(this).find('.img').text());
            });
        });
    </script>

答案 3 :(得分:0)

jsfiddleuse }); instead of )};

上的小错误检查

答案 4 :(得分:0)

工作代码是:

$(document).ready(function () {
    $('.item').each(function () {
        $(this).find('.thumbnail').attr('src',$(this).find('.img').html());         
    })
});