我可以在没有 jQuery 的情况下访问数据属性吗?
使用 jQuery 很容易,但我无法在没有 jQuery 的情况下看到如何做到这一点。
如果我在 Google 上搜索“没有 jQuery”,我得到的只是 jQuery 示例。
甚至有可能吗?
我可以在没有 jQuery 的情况下访问数据属性吗?
使用 jQuery 很容易,但我无法在没有 jQuery 的情况下看到如何做到这一点。
如果我在 Google 上搜索“没有 jQuery”,我得到的只是 jQuery 示例。
甚至有可能吗?
在这里我找到了这个例子:
<div id='strawberry-plant' data-fruit='12'></div>
<script>
// 'Getting' data-attributes using getAttribute
var plant = document.getElementById('strawberry-plant');
var fruitCount = plant.getAttribute('data-fruit'); // fruitCount = '12'
// 'Setting' data-attributes using setAttribute
plant.setAttribute('data-fruit', '7'); // Pesky birds
</script>
所以这看起来非常可行。
更新:由于 Microsoft 现在(2020 年)正在逐步淘汰旧的 Internet Explorer 引擎,转而使用基于 Chromium 的 Edge,因此该dataset
属性很可能适用于任何地方。一段时间内,IE 仍然被强制使用的组织和企业网络将是例外。在撰写本文时 - jsPerf仍然显示 get/setAttribute 方法比使用数据集更快,至少在 Chrome 81 上是这样。
您可以使用数据集属性。如:
element = document.getElementById("el");
alert(element.dataset.name); // element.dataset.name == data-name
它只是一个属性......getAttribute
与任何其他属性一样使用:https : //developer.mozilla.org/en/docs/DOM/element.getAttribute
或者我错过了你的问题的重点。
您还可以使用:
getAttribute('data-property');
这更清晰,更容易阅读。
这将获得数据属性的值。
我想你可以试试这个:
var ele = document.getElementById("myelement");
if (ele.hasOwnProperty("data")) {
alert(ele.data);
}
或使用
alert(ele['data-property']);