在DOM中可以使用.notation来获取/设置属性吗?

Zig*_*ggy 5 javascript standards attributes dom

在DOM中,可以像这样引用元素的属性:

var universe = document.getElementById('universe');
  universe.origin = 'big_bang';
  universe.creator = null;
  universe.style.deterministic = true;
Run Code Online (Sandbox Code Playgroud)

?我对物体及其隐私的深深敬意,以及如果我不小心,我觉得事情可能会非常错误,这让我想做更像这样的事情:

var universe = document.getElementById('universe');
  if(universe.hasAttribute('origin')) then universe.origin = 'big_bang'; 

etc...
Run Code Online (Sandbox Code Playgroud)

是否真的有必要使用这些访问方法?当然,它可能或多或少是必要的,这取决于我操作的元素将具有我期望的属性的确定程度,但一般来说DOM人员认为使用.notation而不是getter和setter是可以的吗?

谢谢!

bob*_*nce 3

对于XML文档,必须使用getAttribute//等setAttributeremoveAttribute没有从JavaScript属性到DOM属性的映射。

\n\n

对于 HTML 文档,您可以使用getAttributeet al 来访问属性,但最好不要这样做,因为 IE6-7 对此有困难。DOM Level 2 HTML 属性不仅更可靠,而且更易于阅读。

\n\n

目前还不清楚您在这里使用的是 XML 还是 HTML 文档。显然origin不是 HTML 属性;\xe2\x80\x98custom\xe2\x80\x99 这样的元素和属性不应包含在 HTML 文档中。但尚不清楚universe.style.deterministic指的是什么;如果没有 HTML 属性,您将无法映射 CSS 样式查找style

\n