Javascript 为什么$(';#主要内容';).children(';p';).html()不';不能在jQuery中工作
很抱歉,我是jQuery的初学者,也是stackoverflow的新手,我很难区分它们与那些DOM元素的区别。 我想更改Javascript 为什么$(';#主要内容';).children(';p';).html()不';不能在jQuery中工作,javascript,jquery,html,Javascript,Jquery,Html,很抱歉,我是jQuery的初学者,也是stackoverflow的新手,我很难区分它们与那些DOM元素的区别。 我想更改元素中的innerHTML,但发生了一些奇怪的事情 比如说 html代码: <div id='main-content'> <p id='p0'>0</p> <p>0</p> </div> 我想将第一个和第二个元素的innerHTML从0更改为100,但是第二个方法p[1].html('
元素中的innerHTML,但发生了一些奇怪的事情
比如说
html代码:
<div id='main-content'>
<p id='p0'>0</p>
<p>0</p>
</div>
我想将第一个和第二个元素的innerHTML从0更改为100,但是第二个方法p[1].html('100')不起作用…控制台说TypeError:p[1].html不是函数。请帮帮我,Firebug告诉我$('#p0')是[object object],p[1]是[object HTMLParagraphElement],你能给我解释一下区别吗,非常感谢你,因为
p[1]
,就像p.get(1)
一样,返回DOM元素
用于获取集合中索引1
处的jQuery对象:
p.eq(1).html('100');
这是因为
p[1]
,就像p.get(1)
,返回DOM元素
用于获取集合中索引1
处的jQuery对象:
p.eq(1).html('100');
jQuery还支持选择器。所以你也有这个选择
$("#main-content p:nth-child(2)").text("100");
正如dystroy所说,访问jQuery数组将返回DOM元素。您可以使用eq之类的帮助器,或者通过再次包装DOM元素来创建另一个jQuery对象。例如,要修复原始代码,只需执行以下操作:
var p=$('#main-content').children('p');
$(p[1]).html('100');
编辑:我重新阅读了问题,您似乎想更新两个段落元素的内容。在这种情况下,它变得更加简单:
$("#main-content p").text("100");
jQuery将作用于所有选定的对象。请阅读jQuery如何使用jQuery还支持选择器。所以你也有这个选择
$("#main-content p:nth-child(2)").text("100");
正如dystroy所说,访问jQuery数组将返回DOM元素。您可以使用eq之类的帮助器,或者通过再次包装DOM元素来创建另一个jQuery对象。例如,要修复原始代码,只需执行以下操作:
var p=$('#main-content').children('p');
$(p[1]).html('100');
编辑:我重新阅读了问题,您似乎想更新两个段落元素的内容。在这种情况下,它变得更加简单:
$("#main-content p").text("100");
jQuery将作用于所有选定的对象。请仔细阅读jQuery如何使用如果您希望两个值相同,那么只需使用:
$(“#main content”).children('p').html('100')代码>-如果您希望两个值相同,那么只需使用:$(“#主内容”).children('p').html('100')
-如果知道要查找的元素的id,为什么首先选择父元素,然后使用.find()
?如果知道要查找的元素的id,为什么首先选择父元素,然后使用.find()
?