jquery $'Object'与getElementById()元素进行比较?

时间:2010-11-03 13:43:31

标签: jquery ajax jquery-selectors

在学习ajax时遇到了jquery问题。

$( 'div_hello');    - >回答'对象'

的document.getElementById( 'div_hello');    - >回答'HTMLDivElement'

getElementById有效($没有)。对于这次体验,我只想使用innerHTML。

不清楚jquery'Object'与HTML元素的区别。我如何设置jquery对象的html?

谢谢

3 个答案:

答案 0 :(得分:5)

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

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

或者获取DOM元素并使用.innerHTML,就像这样

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

请注意,您的选择器应该像上面的'#div_hello'一样,#id selectors#为前缀,否则为element selector(并寻找{{1}元素)。

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

答案 1 :(得分:2)

  

不清楚jquery'Object'与HTML元素的区别。

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

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

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

执行此操作
$('#div_hello')[0].innerHTML

答案 2 :(得分:0)

(此次格式化文字)

非常感谢你,

昨晚很多车轮旋转,你在5分钟内将其清理干净 -

工作的: $('#div_hello')。html(“

Hello World

”);

失败: $('div_hello')。html(“

Hello World

”);

需要“#”

我想知道为什么没有#“它没有爆炸(结果是nop)。

谢谢!