如何在数组中的对象中访问img标记的属性?

时间:2014-07-28 19:03:16

标签: javascript jquery

我有两个这样的对象数组:

x = {
        word: "Gun",
        pic: "<img id='pic' src='images/stimuli/gun.gif'/>",
    }, {
        word: "Hammer",
        pic: "<img id='pic' src='images/stimuli/hammer.gif'/>",
    }

我必须通过src属性将此数组的第一个元素与另一个图像标记y:

进行比较
<img id="pic11" height="115" width="90" src="images/stimuli/gun.gif"/>

我尝试了这种比较,它给出了#34; undefined不是一个函数&#34;:

x[0].pic.attr('src') == pic11.src

如果我这样登录到控制台:console.log($(x[0].pic).attr('src'))它可以正常运行images/stimuli/gun.gif但我无法通过我的脚本中的变量x进行访问。

换句话说,我无法访问数组中对象的img标记的src属性。 我该怎么做?

3 个答案:

答案 0 :(得分:1)

从pic属性创建一个jQuery对象,并使用.attr(),就像你想要的那样。

var img1 = $(x[0].pic);
var src = img1.attr('src');

答案 1 :(得分:1)

在jquery包装器中包装您需要访问的标记图像标记,然后尝试获取src属性。

var src = $(x [0] .pic).attr('src');

答案 2 :(得分:1)

x [0] .pic返回一个字符串而不是HTML代码。所以你需要的是,将这个String转换为HTML代码,然后使用$(selector).attr()。以下是更改后的代码:

$($.parseHTML(x[0].pic)).attr('src') == pic11.src