【问题标题】:Object Destructuring JavaScript and HTML [duplicate]对象解构 JavaScript 和 HTML [重复]
【发布时间】:2020-04-11 07:13:55
【问题描述】:

我是 JS 新手,我有下一个疑问。可以使用 HTML 解构来获取属性吗?其实我是这样认识的。

var foo = document.getElementById('script1');
var bar = foo.getAttribute('var1');
var any = foo.getAttribute('var2');
<script id="script1" src="code.js" var1="var1" var2="var2">
</script>

在我的理解中,使用对象解构的方式是:

{ var 1, var2 } = foo;

但实际上我得到了 undefined 值。

【问题讨论】:

  • var { var1, var2 } = foo; 但是你不会在这里得到任何东西,因为你的属性是非标准的,因此不会成为元素对象的属性。
  • var1 是一个属性,而不是一个属性
  • @AluanHaddad 它实际上是。这里主要的误解是属性和属性之间的区别。
  • @Lux 我已将标签从 html 更改为 dom,因为这样更准确。
  • 从技术上讲,如果属性正确地以data- 开头,您可以解构dataset 属性以获取值。

标签: javascript dom ecmascript-6


【解决方案1】:

Document.getElementById() 返回一个 Element 对象,该对象本身具有属性。 这个 Element 对象有一个叫做 attributes 的属性,它是一个 NodeValueMap

可以解构 JavaScript 对象,但不能用于选择元素的属性。

【讨论】:

    猜你喜欢
    • 2018-09-04
    • 2019-04-27
    • 2016-05-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-25
    • 2020-06-14
    • 1970-01-01
    相关资源
    最近更新 更多