Javascript 根据属性更改innerHTML?

Javascript 根据属性更改innerHTML?,javascript,html,innerhtml,Javascript,Html,Innerhtml,在我的HTML页面的某个地方,我有一个段落: 如何使用文档更改HTML。?.innerHTML语句,该语句基于开关类型属性?使用querySelectorAll(),该语句返回静态节点列表 var p = document.querySelectorAll('[switch-type="label-on-off"]'); 更多信息请参见 然后: 但是如果您想更改 p[0].innerHTML=“…”; 这不是有效的HTML属性。可以使用数据-属性,该属性旨在让您编写任何您喜欢的内容(例如数据开

在我的HTML页面的某个地方,我有一个段落:

如何使用文档更改HTML。?.innerHTML语句,该语句基于开关类型属性?

使用querySelectorAll(),该语句返回静态节点列表

var p = document.querySelectorAll('[switch-type="label-on-off"]');
更多信息请参见

然后:

但是如果您想更改

p[0].innerHTML=“…”;

这不是有效的HTML属性。可以使用
数据-
属性,该属性旨在让您编写任何您喜欢的内容(例如
数据开关类型=“…”
),也可以使用CSS类(例如
class=“label on off”
)而不是自定义属性。也就是说,不要在元素上设置
innerHTML
,找到需要更新的元素,然后更新它们的类(使用它们的
.classList
),设置它们的文本内容(使用
.textContent
),或者更改它们的子树(使用DOM函数,比如
appendChild
),好的,但是如果我使用data-attribute。我怎样才能找到基于该属性的元素?作为一个普通的HTML属性,找到基于属性的元素的方法是一样的:
document.querySelectorAll(`[data switch type=“whatever”]`)
(记住:它返回一个类似数组的HTMLCollection,但不是数组)好的,我如何基于多个属性进行选择?因为
document.querySelectorAll(`[data-switch-type=“whatever”],[data-switch-id=“whatever”]`)不起作用。哦,不,我们不是在玩这个游戏:如果你现在有一个更详细的问题,然后提到你做了什么,这样人们就可以回答你现在更具体的问题。然而,如果你现在有一个不同的问题(看起来是这样),不要让别人在评论中回答这个问题。相反,您首先搜索web和stackoverflow以查找该问题的答案,因为该问题肯定已经有了答案。请记住:这不是一个通用的帮助论坛,而“评论线程”恰恰相反。
p[0].innerText = "isaac newton";
p[0].innerHTML = "<span> ...  </span>";