Javascript jquery的html方法在jquery对象上的应用
我正在尝试更改元素的内部html。如果我们使用这个: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时,
$('.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=“添加更多照片”;我只是在猜测,当只有一行代码时,我说的不多。