Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jquery的html方法在jquery对象上的应用_Javascript_Jquery_Html_Css - Fatal编程技术网

Javascript jquery的html方法在jquery对象上的应用

Javascript jquery的html方法在jquery对象上的应用,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我正在尝试更改元素的内部html。如果我们使用这个: $('.best-photos-button')[0].innerHTML="Add More Photos"; 它很好用。但是如果我们使用.html()而不是“.innerHTML”,即JavaScript,则如下所示: $('.best-photos-button').html("Add More Photos"); 那就不行了。为什么会这样? 当我在控制台上运行$('.best photos button').innerHTML时,

我正在尝试更改元素的内部html。如果我们使用这个:

$('.best-photos-button')[0].innerHTML="Add More Photos";
它很好用。但是如果我们使用.html()而不是“.innerHTML”,即JavaScript,则如下所示:

$('.best-photos-button').html("Add More Photos");
那就不行了。为什么会这样? 当我在控制台上运行$('.best photos button').innerHTML时,它给出的是未定义的。

$('.best photos button')
是一个jQuery对象。使用
$('.best photos button')[0]
时,它将返回原始DOM元素,该元素没有
.html()
方法,只有
.innerHtml

所以你要么需要使用

$('.best-photos-button').html("Add More Photos"); 
或者使用
.innerHtml

编辑:
请注意,如果使用
.html()
它将影响使用
最佳照片按钮的所有元素。因此,根据您的用例,您可能需要使用不同的选择器或过滤选择,以获得所需的特定对象。

这是否回答了您的问题?从脚本
$('.best photos button').html(“添加更多照片”)中删除
[0]
什么让你认为应该定义它?您是否参考了一些文档?我在浏览器中的js上放置了一个调试器,并尝试获取$(“.best photos button”)的值。innerHTML和输出应该是所选元素中文本中的任何内容,但它给出了未定义的值。希望有帮助!如果我使用$('.best photos button').html(“添加更多照片”);它不起作用了。密码被破解了。另外,$(“.best photos button”)仅添加到单个元素。是否在加载DOM之前调用该方法?您可以使用以确保在尝试修改元素之前已加载该元素。如果是这种情况,则说明其工作原理:$('.best photos button')[0]。innerHTML=“添加更多照片”;我只是在猜测,当只有一行代码时,我说的不多。