什么是$('#container')[0]?

时间:2011-03-12 21:55:53

标签: jquery

我不明白jQuery Cookbook第111页上的这行,它说:

$('#container')[0].innerHTML = html.join('');

关于什么是[0]? 这给了我一个语法错误。

3 个答案:

答案 0 :(得分:5)

jQuery方法实际上返回一个数组。使用索引器时,您将获得该位置的实际DOM元素。不幸的是,如果没有匹配元素,索引器将失败。您的选择器可能与页面上的任何ID都不匹配。

实现这一目标的规范方法实际上是:

$('#container').html( html.join('') ); // assuming html is an array

请注意,如果页面上没有匹配的元素,这不会失败; <{1}}方法将不会被应用。

答案 1 :(得分:1)

这个答案可能不正确,投票支持另一个!

它可能试图抓住标识为container的第一个元素。试试这样:

$('#container:first').innerHTML = html.join('');

答案 2 :(得分:1)

它引用数组中的第一个元素,它是#container的DOMElement,它直接将它的innerHTML属性设置为html变量的连接结果。 / p>

左手看起来语法很好。尝试用一个字符串文字替换html.join,它应该正确分配。调试html.join部分。