假设我有几个
<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')
假设我有几个
<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')
您正在尝试使用应该与 jQuery 对象一起使用的html()
方法,您可以 与 javascript 对象一起使用,所以您需要这个,with javascript object
innerHTML
$('p')[2].innerHTML = 'Good Bye';
js 对象没有 html() 方法,只有 JQ 对象有。
所以,你可以这样做:
$('p').eq(2).html('hello,I am Chinese');
当您使用方括号时,您不会收到 jQuery 对象,而是收到原始的 javascript 对象,例如,如果您想使用表单中的提交 javascript 函数,您应该使用
jQuery('form')[0].submit()
或者你可以使用:
$( $('p')[2]).html('Good Bye');