Jquery - ID引用 - 假设返回一个数组?

时间:2009-07-22 17:32:02

标签: javascript jquery html dhtml

我刚开始使用jQuery,各种来源建议以下内容应该用于通过ID引用元素:

$("#imgThumbnail")

理论上可以做出这样的事情:

$("#imgThumbnail").src;

但是我的测试表明类似$("#imgThumbnail")之类的东西会返回一个数组,从而产生以下必要:

$("#imgThumbnail")[0].src;

每次尝试通过ID引用某些内容时,我是否真的需要通过数组的索引来引用(即var oObj = $("#someobjectid")[0];)?

7 个答案:

答案 0 :(得分:6)

您应该获取src属性以获取值

$("#imgThumbnail").attr('src');

答案 1 :(得分:6)

This post解释了$函数返回的内容以及使用它的各种方法。


$(selector)

返回一个jQuery对象,它可能包含许多DOM元素。


$(selector)[0] or $(selector).get(0)

将第一个结果作为实际DOM元素返回。


$(selector).eq(0) or $($(selector).get(0))

返回包装在jQuery对象中的DOM元素,以便我们可以执行以下操作:

$(selector).eq(0).addClass("deleted").fadeOut();

答案 2 :(得分:3)

$(说明符)将返回一个集合,所以如果您想要在单个成员上调用某些内容,则需要选择哪一个。在大多数情况下,虽然有一个集合运算符,但您可以使用它来获得相同的结果。例如,你可以调用$('#imgThumbnail')。attr('src','value')

答案 3 :(得分:1)

你应该记住,它不是一个真正的数组,它是一个jQuery对象,除其他外,允许数组式访问

答案 4 :(得分:1)

$(whatever)

返回jQuery对象。在jQuery对象上,您可以执行jQuery和jQuery插件的事情,例如。 .text()返回元素内的文本或.css("background", "pink")以使元素变为粉红色。

由于src不是jQuery,你无法访问它。但是,src都是HTML属性,您可以使用attr方法访问它们:

.attr("src")` and `.attr("src", "http://www.example.com/myimage.png")

src也是一个DOM属性,您可以使用[index]访问DOM属性,也可以通过遍历每个jQuery对象来访问它们:

.each(function(){
  this.src = "http://www.example.com/myimage.png";
})

答案 5 :(得分:0)

我认为你不应该将.src与jQuery一起使用。

Try $("#imgThumbnail").attr('src'); 

(这将读取src属性,如果你愿意,你可以用第二个arg设置它)

见这里: http://docs.jquery.com/Attributes/attr

答案 6 :(得分:0)

设置src属性使用

$("#imgThumbnail").attr("src", value)

如果你使用像类选择器或类似的标签

$("img").attr("src", value)

它将修改页面上的所有图像src属性。因此$函数返回一个数组。

您无需专门参考它。