如何用'this'引用另一个标签内的图像?

时间:2011-05-31 23:40:42

标签: javascript jquery

我知道这是非常基本的,我正在尝试获取某些图像的'src'属性并将它们放在相同数量的#image字段中:

        count = 0;
        $('.selected').each(function() {
            count++;
            // the idea is to get the value from each ".selected img"
            $('#image' + count).val(   this + img   ).attr("src");
        });

如何从'this'引用图像?或者什么是好方法? ....谢谢!

修改

我有这样的事情:

        <li><img src="..." alt="" class="selected" /></li>
        <li><img src="..." alt="" /></li>
        <li><img src="..." alt="" /></li>
        <li><img src="..." alt="" class="selected" /></li>

我想在这里编写那些img的src属性:

    <input type="hidden" id="image1" name="image1" value="" />                  
    <input type="hidden" id="image2" name="image2" value="" />  

谢谢!

4 个答案:

答案 0 :(得分:1)

$('img.selected').each(function(i, img) {
    $('#image' + (i + 1)).val(img.src);
});

答案 1 :(得分:1)

这是你的意思吗?

$(function() {
    var count = 0;
    $('.selected').each(function() {
        count++;
        var source = $('img', this).attr('src');
        $('input#image' + count).val(source);
    });
});

答案 2 :(得分:1)

如果我理解您的要求是正确的,那么您希望将src属性放在每个关联的hidden字段标记中,这是正确的吗?我对使用选定图像和非选择图像之间的区别感到有点困惑,所以我在这个解决方案中忽略了这一点:

<强> HTML

<ul>
    <li><img src="src0" alt="" class="selected" /></li>
    <li><img src="src1" alt="" /></li>
    <li><img src="src2" alt="" /></li>
    <li><img src="src3" alt="" class="selected" /></li>
</ul>

<input type="text" id="image0" name="image0" value="" />                  
<input type="text" id="image1" name="image1" value="" />  
<input type="text" id="image2" name="image2" value="" />  
<input type="text" id="image3" name="image3" value="" />  

<强>脚本

$('input[type=text]').each(function(idx, e){
    $(this).val($($('img')[idx]).attr('src'));
});

http://jsfiddle.net/dbrecht/MDfD9/

(我在这里使用文字字段进行说明,但您可以轻松地将属性更改为隐藏)

当然,这假定每个图像都有一个相关的输入字段。我有点好奇为什么你要沿着这条路走下去......你究竟想要完成什么?从我所看到的情况来看,可能还有其他方法可以解决这个问题。

答案 3 :(得分:0)

我认为这就是你的意思。

    $('.selected').each(function(idx, obj) {
        $('#image' + (idx + 1)).attr("src", obj.src);
    });