我可以在没有jQuery的情况下访问数据属性吗?无jQuery访问'数据'属性
用jQuery很容易,但是我看不到没有jQuery的地方。
如果我在Google上搜索'没有jQuery',我只能看到jQuery的例子。
这有可能吗?
我可以在没有jQuery的情况下访问数据属性吗?无jQuery访问'数据'属性
用jQuery很容易,但是我看不到没有jQuery的地方。
如果我在Google上搜索'没有jQuery',我只能看到jQuery的例子。
这有可能吗?
在here我发现这个例子:
<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>
所以看上去非常可行的。
第一个答案+适用于所有浏览器 – user2143356 2013-04-09 21:30:03
这似乎是正确的方法。此外,您可能需要能够执行如下操作:document.getElementById('strawberry-plant')。setAttribute('data-fruit','Some Data Here'); – sage88 2014-03-05 04:56:29
这只是一个属性...使用getAttribute
与任何其他属性:https://developer.mozilla.org/en/docs/DOM/element.getAttribute
还是我失去了你的问题点。
您可以使用数据集属性。如:
element = document.getElementById("el");
alert(element.dataset.name); // element.dataset.name == data-name
查看对'dataset'的支持:http://caniuse.com/dataset – 2013-04-09 20:56:29
注意:尽管完全正确,但这只适用于符合HTML5的浏览器。使用'getAttribute'方法可以在大多数浏览器上使用。 – fredrik 2013-04-09 20:59:02
我想你可以试试这个:
var ele = document.getElementById("myelement");
if (ele.hasOwnProperty("data")) {
alert(ele.data);
}
或使用
alert(ele['data-property']);
来自MDN文档,它是理想的使用getAttribute方法,因为它的速度更快,下面我引用:**另外,与将数据存储在JS数据仓库中相比,读取数据属性的性能很差。使用数据集比使用getAttribute()读取数据要慢。** - [link](https://developer.mozilla.org/en/docs/Web/Guide/HTML/Using_data_attributes) – razzbee 2016-10-16 11:20:49
这是旧的,但它可以让你去:http://html5doctor.com/ html5-custom-data-attributes/ – dsdsdsdsd 2013-04-09 20:53:10