jquery不工作改变内部HTML?

嘿,我是jquery的新手,我一直试图像过去几个小时那样解决这个问题……我到底做错了什么? 我想做的就是改变div的innerHTML。

$("left_menu_bar").innerHTML = "You clicked me!"; 

但是当我用该代码init调用函数时,div根本没有改变。

像这样做:

 // referencing by id $("#left_menu_bar").html("You clicked me!"); // referencing by class name ( will apply to all div's with this class ) $(".left_menu_bar").html("You clicked me!"); 

http://api.jquery.com/html/

jQuery总是返回一个jQuery 集合 –而不是一个DOM元素。 要直接访问DOM属性,您需要从集合中检索元素:

 $(".left_menu_bar").first().innerHTML = "You clicked me!"; 

然而,这并不是很方便,而helmus的回答描述了通常的事情。

由于left_menu_bar不是元素,因此您无法以这种方式选择它。

如果它是元素的ID,请尝试:

 $("#left_menu_bar").html("You clicked me!"); 

如果它是元素的类,请尝试:

 $(".left_menu_bar").html("You clicked me!"); 

您正在尝试将一些文本分配给名为innerHTML的属性,该对象没有名为innerHTML的属性。

jQuery中的$函数不返回DOM元素。 它返回一个jQuery对象,它提供了在特定DOM元素上执行所有精彩jQuery函数的能力。

jQuery对象公开的函数之一是.get() ,它将返回它包含的元素之一。

所以在你的情况下,你可以这样做:

 // 0 means it will return the first element in the jQuery object $("left_menu_bar").get(0).innerHTML = "You clicked me!"; 

或者像@helmus在他的回答中所说,你可以使用jQuery提供的.html()函数来设置内部实际使用innerHTML的内容。