jquery $“对象”与 getElementById() 元素相比?
在学习ajax的时候遇到了jquery的问题。
$('div_hello'); -->回答一个“对象”
document.getElementById('div_hello'); -->回答 'HTMLDivElement'
getElementById 有效($ 无效)。对于这个实验,我只想使用innerHTML。
不清楚 jquery“对象”与 HTML 元素有何不同。我如何设置jquery对象的html?
谢谢
Have run into jquery question while learning ajax.
$('div_hello');
--> answers an 'Object'
document.getElementById('div_hello');
--> answers an 'HTMLDivElement'
getElementById works ($ does not). For this experiement, I simply want to use innerHTML.
Not clear on how a jquery 'Object' differs from an HTML element. How would I ie set the html of the jquery object?
thank you
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您可以像这样使用
.html()
:或者获取 DOM 元素并使用
.innerHTML
,如下所示请注意,您的选择器应该是
'#div_hello'
就像我上面的那样,#id
选择器 以#
为前缀,否则为 元素选择器(并查找
元素)。jQuery 对象只是一个包装器,它包含对其作用的 DOM 元素的引用数组,因此可以将其视为 DOM 元素“之上”。这就是
[0]
直接获取元素的原因,因为该元素位于选择器找到的数组中的第一个元素。You can use
.html()
like this:Or get the DOM element and use
.innerHTML
, like thisNote that your selector should be
'#div_hello'
like I have above,#id
selectors are prefixed with a#
, otherwise it's an element selector (and looking for a<div_hello>
element).The jQuery object is just a wrapper, it contains an array of references to DOM elements that it acts on, so think of it as "on top of" the DOM element. This is why
[0]
gets the element directly, because that element is first in the array that your selector found.事实上,jQuery 对象与底层 DOM 元素完全不同。它们不可互换。
在处理
$()
对象时,您应该使用框架的本机函数,正如 Nick 在他的回答中所示。如果您需要访问底层元素,您可以使用
A jQuery object is in fact completely different from the underlying DOM element. They are not interchangeable.
You should use the framework's native functions when dealing with
$()
objects, as Nick shows in his answer.If you need to access the underlying element though, you can do so using
(这次是格式化文本)
非常感谢大家,
昨晚做了很多事情,你在 5 分钟内就把它清理干净了 -
有效:
$('#div_hello').html("
Hello World
");
失败:
$('div_hello').html("
Hello World
");
需要 "#"
我想知道为什么没有 "#" 它没有爆炸(结果是 nop)。
谢谢!
(formatted text this time)
Thank you much all,
A lot of wheel-spinning last night and you cleared it up in 5 mins -
works:
$('#div_hello').html("
Hello World
");
fails:
$('div_hello').html("
Hello World
");
Need the "#"
I wonder why w/o the "#" it didn't blow up (result was nop).
Thank you!