4

假设我有几个

<p> Hello </p>
<p> Hello </p>
<p> Hello </p>
<p> Hello </p>

我想用“再见”替换一个“你好”。

So => $('p')[2].html('Good Bye');

它不工作,为什么?为什么我必须使用 eq: 选择器?

当我这样做时它正在工作

$('p:eq(3)').html('Good bye')
4

4 回答 4

4

您正在尝试使用应该与 jQuery 对象一起使用的html()方法,您可以 与 javascript 对象一起使用,所以您需要这个,with javascript objectinnerHTML

现场演示

$('p')[2].innerHTML = 'Good Bye';
于 2012-11-29T06:42:38.057 回答
2

js 对象没有 html() 方法,只有 JQ 对象有。

所以,你可以这样做:

$('p').eq(2).html('hello,I am Chinese');
于 2012-11-29T07:24:14.603 回答
2

当您使用方括号时,您不会收到 jQuery 对象,而是收到原始的 javascript 对象,例如,如果您想使用表单中的提交 javascript 函数,您应该使用

jQuery('form')[0].submit()
于 2012-11-29T06:44:51.910 回答
1

或者你可以使用:

$( $('p')[2]).html('Good Bye');
于 2012-11-29T07:03:05.197 回答