我试图获取元素的值,然后使用.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}}。
请帮忙
答案 0 :(得分:1)
答案 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)
jsfiddle,use }); instead of )};
答案 4 :(得分:0)
工作代码是:
$(document).ready(function () {
$('.item').each(function () {
$(this).find('.thumbnail').attr('src',$(this).find('.img').html());
})
});