jquery $“对象”与 getElementById() 元素相比?

发布于 2024-09-30 14:29:51 字数 271 浏览 5 评论 0原文

在学习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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

卖梦商人 2024-10-07 14:29:51

您可以像这样使用 .html()

$('#div_hello').html("content")

或者获取 DOM 元素并使用 .innerHTML,如下所示

$('#div_hello')[0].innerHTML = "content";
//or
$('#div_hello').get(0).innerHTML = "content";

请注意,您的选择器应该是 '#div_hello' 就像我上面的那样,#id 选择器# 为前缀,否则为 元素选择器(并查找元素)。

jQuery 对象只是一个包装器,它包含对其作用的 DOM 元素的引用数组,因此可以将其视为 DOM 元素“之上”。这就是 [0] 直接获取元素的原因,因为该元素位于选择器找到的数组中的第一个元素。

You can use .html() like this:

$('#div_hello').html("content")

Or get the DOM element and use .innerHTML, like this

$('#div_hello')[0].innerHTML = "content";
//or
$('#div_hello').get(0).innerHTML = "content";

Note 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.

你在我安 2024-10-07 14:29:51

不清楚 jquery“对象”与 HTML 元素有何不同。

事实上,jQuery 对象与底层 DOM 元素完全不同。它们不可互换。

在处理 $() 对象时,您应该使用框架的本机函数,正如 Nick 在他的回答中所示。

如果您需要访问底层元素,您可以使用

$('#div_hello')[0].innerHTML

Not clear on how a jquery 'Object' differs from an HTML element.

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

$('#div_hello')[0].innerHTML
眼眸印温柔 2024-10-07 14:29:51

(这次是格式化文本)

非常感谢大家,

昨晚做了很多事情,你在 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!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文