Jquery:为什么$(“#id_pop”)[0]是非法的?

时间:2010-10-28 06:20:57

标签: jquery

在我编写代码时的代码中:

$("#id_pop")[0]

有错误。当我纠正它:

var $d = $("#id_pop");
$d[0]....

没关系。为什么呢?

3 个答案:

答案 0 :(得分:3)

[0]应该可以工作,即获取DOM对象。但是一旦你找回一个普通的DOM对象,你就无法继续使用jQuery方法。

你也可以从jQuery选择器中获取一个DOM对象:

$('#id_pop').get(0);

您确定只有一个ID为id_pop的元素。如果存在则$('#id_pop')[0]应该有效。

请参阅此处的工作示例:http://jsbin.com/udace3

答案 1 :(得分:1)

您正在使用ID选择器,您不应该获取数组而是jquery对象本身。在使用#id的jQuery文档中,

每个ID只能在文档中使用一次。如果为多个元素分配了相同的ID,则使用该ID的查询将仅选择DOM中的第一个匹配元素。不应依赖此行为......

答案 2 :(得分:0)

使用.eq()而不是.get()不是更好吗?

$('#id_pop').eq(0);

或者就此而言:

$('#id_pop:eq(0)');