如何在 google chrome 中设置 ContentEditable 选项而不更改 HTML?

how do I set the ContentEditable option in google chrome, without changing the HTML?

因此,如果我可以将所有 block/inline 元素都设置为具有此属性,那就太棒了。

当然可以用.setAttribute()来设置,但是用CSS可以吗?

contenteditable 是一个 HTML 属性,这意味着需要使用 HTML (<h2 contenteditable=true>This can be changed</h2>) 或 JavaScript (` el.setAttribute("contenteditable", true)。这就是为什么你上面的代码不起作用,因为你试图用 CSS 声明它,这是无效的。

如果您正在寻找一种以编程方式一次将其添加到多个元素的方法,而不必输入它,您可以使用 document.querySelector() select 个元素,这样您就可以使用CSS-style selector (eg .content > #h2) and returns 一个元素数组,你可以遍历它并用 JavaScript 设置属性。


编辑:

所以回答你更新的问题,没有 CSS 属性 内容可编辑。它是一个 HTML 属性,只能从元素的标签中设置,或者从 JS 中设置,不可能从 CSS.

中设置

您可以使用 document.querySelector 如上所述使用 select 元素使用 CSS select 或者,并在每个元素上调用 setAttribute,即可能是实现目标的最佳方式。