!变量无法在javascript中运行

Gri*_*ung 2 javascript

我有一个javascript:代码书签

javascript:document.body.contentEditable = !document.body.contentEditable; 
Run Code Online (Sandbox Code Playgroud)

应该打开和关闭页面的"编辑器"(仅适用于朋友的恶作剧等).但它没有实现预期的结果,当我点击书签时没有任何反应.打开Javascript控制台,我看到:

document.body.contentEditable
  "false"
!document.body.contentEditable
  false
Run Code Online (Sandbox Code Playgroud)

以前,我用过javascript:document.body.contentEditable = true;,这使得页面可以编辑,但我无法将其关闭.

Dog*_*ert 9

就像你在JavaScript控制台中注意到的那样,document.body.contentEditable是一个String,而不是一个布尔值.你可以这样做:

document.body.contentEditable = !(document.body.contentEditable == "true");
Run Code Online (Sandbox Code Playgroud)

要不就

document.body.contentEditable = document.body.contentEditable != "true";
Run Code Online (Sandbox Code Playgroud)

HTMLElement.contentEditable属性用于指示元素是否可编辑.此枚举属性可以具有以下值:

  • "true"表示该元素是可信的.
  • "false"表示无法编辑元素.
  • "inherit"表示该元素继承其父级的可编辑状态.

https://developer.mozilla.org/en/docs/Web/API/HTMLElement/contentEditable