jQuery选择对象 - 只需要使用特定的一个
我有这样的:jQuery选择对象 - 只需要使用特定的一个
console.log($("div[id^='highc']"));
这将打印我对象的数组。我可以很容易地得到我想要的键入:现在
console.log($("div[id^='highc']")[0]);
,$("div[id^='highc']").append('text')
追加到所有对象在返回数组。我如何分配给数组中的某个对象?
这不起作用:
$("div[id^='highc'][0]").append('text')
重要的是要注意,$("div[id^='highc']")
返回a jQuery object包含DOM elements(如果选择了任何内容)的集合。由于jQuery对象类似对数组,$("div[id^='highc']")[0]
将返回jQuery对象中的第一个DOM元素。
您在可能遇到的问题是您不能在本机DOM元素上使用jQuery方法(如.append()
)。换言之,如果您要串联在第一DOM element的.append()
方法在jQuery对象(即,$("div[id^='highc']")[0].append(...)
),将收到错误消息,说明.append()
不是函数:
Uncaught TypeError:
$(...)[0].append
is not a function
由于.append()
方法操作在jQuery对象上,您可以使用.eq()
method以基于其索引检索包含该元素的jQuery对象。
$("div[id^='highc']").eq(0).append('Text');
或者,一个丑陋的做法是为了返回一个jQuery对象与$()
包装的DOM元素:
$($("div[id^='highc']")[0]).append('Text');
旁注:
在你的问题,你使用$("div[id^='highc'][0]")
和$("div[id^='highc']")[0]
。我假设它是一个错字,而你的意思是后者,因为$("div[id^='highc'][0]")
不会返回任何元素,因为元素可能没有[0]
属性。您可能试图在选择器外部使用.append()
方法与[0]
。
你的问题是,当你试图$("div[id^='highc'][0]").append('text')
,你把[0]
选择里面,而不是外面。正确的代码是$("div[id^='highc']")[0].append('text')
.eq()摇摆。非常感谢! –