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

Javascript 如何访问数组中对象中img标记的属性?,javascript,jquery,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'/>", } 如果我像这样登录控制台:console.log($

我有一个由两个对象组成的数组,如下所示:

x = {
        word: "Gun",
        pic: "<img id='pic' src='images/stimuli/gun.gif'/>",
    }, {
        word: "Hammer",
        pic: "<img id='pic' src='images/stimuli/hammer.gif'/>",
    }
如果我像这样登录控制台:
console.log($(x[0].pic).attr('src'))
它可以工作,我会得到
images/stimuli/gun.gif
,但我无法通过脚本中的变量x进行访问

换句话说,我无法访问数组中对象的img标记的src属性。
如何做到这一点?

从pic属性创建一个jQuery对象,并像您希望的那样使用.attr()

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

从pic属性创建一个jQuery对象,并像您希望的那样使用.attr()

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

从pic属性创建一个jQuery对象,并像您希望的那样使用.attr()

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

从pic属性创建一个jQuery对象,并像您希望的那样使用.attr()

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

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


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

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


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

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


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

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


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

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

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

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

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

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

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

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

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

您是否在脚本中执行了
$(x[0].pic).attr('src')
?为什么您希望它能工作
x[0].pic.attr('src')
?您的
pic
是一个字符串,而不是jQuery元素。检查控制台,那里应该有一个不错的错误和一些线索。我相信如果
x
是一个对象数组
x=[{},{}]。但是,如果我像这样登录到控制台:
console.log($(x[0].pic).attr('src'))
,那么您发布的示例中的x值将只是第一个对象。。。然后使用:)更正您的代码并在其周围放置两个[],使其成为一个数组。您在脚本中是否执行了
$(x[0].pic).attr('src')
?为什么您希望这样做会起作用
x[0].pic.attr('src')
?您的
pic
是一个字符串,而不是jQuery元素。检查控制台,那里应该有一个不错的错误和一些线索。我相信如果
x
是一个对象数组
x=[{},{}]。但是,如果我像这样登录到控制台:
console.log($(x[0].pic).attr('src'))
,那么您发布的示例中的x值将只是第一个对象。。。然后使用:)更正您的代码并在其周围放置两个[],使其成为一个数组。您在脚本中是否执行了
$(x[0].pic).attr('src')
?为什么您希望这样做会起作用
x[0].pic.attr('src')
?您的
pic
是一个字符串,而不是jQuery元素。检查控制台,那里应该有一个不错的错误和一些线索。我相信如果
x
是一个对象数组
x=[{},{}]。但是,如果我像这样登录到控制台:
console.log($(x[0].pic).attr('src'))
,那么您发布的示例中的x值将只是第一个对象。。。然后使用:)更正您的代码并在其周围放置两个[],使其成为一个数组。您在脚本中是否执行了
$(x[0].pic).attr('src')
?为什么您希望这样做会起作用
x[0].pic.attr('src')
?您的
pic
是一个字符串,而不是jQuery元素。检查控制台,那里应该有一个不错的错误和一些线索。我相信如果
x
是一个对象数组
x=[{},{}]。但是,如果我像这样登录到控制台:
console.log($(x[0].pic).attr('src'))
,那么您发布的示例中的x值将只是第一个对象。。。然后使用:)更正代码并在其周围放置两个[]以使其成为一个数组。OP似乎已经知道这一点:“如果我像这样登录到控制台:
console.log($(x[0].pic).attr('src'))
it works”OP似乎已经知道这一点:“如果我像这样登录到控制台:
console.log($(x[0].pic.).attr('src'))
it works”OP似乎已经知道了这一点:“如果我像这样登录控制台:
console.log($(x[0].pic).attr('src'))
it works”OP似乎已经知道了这一点:“如果我像这样登录控制台:
console.log($(x[0].pic).attr('src'))
it works