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

标签 javascript dom attributes standards

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

var universe = document.getElementById('universe');
  universe.origin = 'big_bang';
  universe.creator = null;
  universe.style.deterministic = true;

?我对物体及其隐私的深深尊重,以及如果我不小心,事情可能会变得非常糟糕的感觉,让我想做更多这样的事情:

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

etc...

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

谢谢!

最佳答案

对于 XML 文档,您必须使用getAttribute/setAttribute/removeAttribute 等。没有来自的映射JavaScript 属性到 DOM 属性。

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

不清楚您在这里使用的是 XML 还是 HTML 文档。显然 origin 不是 HTML 属性;像这样的“自定义”元素和属性不应包含在 HTML 文档中。但不清楚 universe.style.deterministic 指的是什么;如果没有 HTML style 属性,您将无法映射 CSS 样式查找。

关于javascript - 在 DOM 中可以使用 .notation 来获取/设置属性吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2452090/

相关文章:

javascript - Ben Awad 视频教程问题与 npx mikro-orm 迁移 :create

javascript - 如何在ajax调用中返回成功

Javascript - 用现有按钮替换输入类型按钮

javascript - getElementById 是否适用于由 javascript 创建的元素?

php - 如何通过 Magento API 以编程方式将属性分配给特定属性集?

javascript - 如何用一个值函数设置多个属性?

.net - 在抽象 Attribute 类上指示 AllowMultiple=false 有什么意义?

javascript - 创建带有空 href 的 <a> 链接的最佳方法

javascript - 一页上有多个 Twitter 提要?

Javascript & 对象和函数