我正在使用class属性来保存数据。我知道现在使用数据属性是标准,但我想知道在class属性中存储它们是否存在任何问题。我想使用类,因为旧浏览器不支持数据属性。我正在保存其中的URL,然后使用javascript拉取它们。 例如,
<div class="mdiv http://google.com"></div>
and getting it like:
document.getElementsByClassName('mdiv')[0].getAttribute('class').split(" ")[1]
答案 0 :(得分:2)
您不需要使用class
属性。您可以使用data-
。
答案 1 :(得分:1)
老实说,我不担心旧的浏览器不支持数据属性,除非你期望来自旧版浏览器的大量流量,只是不再可行解决旧的浏览器。
但是,如果你真的需要,我可能会建议使用一个缠绕div的锚点,然后从中拉出href。它只是一点清洁。
<a class="someclass" href="http://google.ca">
<div class="mydiv"></div>
</a>
如果您不希望链接可点击,可以使用某些CSS禁用该链接:
a.someclass {
pointer-events: none;
cursor: default;
}
至于抓住它的href:
document.getElementsByClassName('someclass')[0].href;
答案 2 :(得分:1)
不要使用类。使用data-*
属性。
浏览器不关心属性的HTML有效性。没有“数据属性支持”这样的东西。您可以使用属性方法访问它们,属性方法是DOM的一部分,甚至IE6也应该完全支持它们。
element.getAttribute('data-foo');
element.setAttribute('data-foo', 'value');
但是,现代浏览器允许您通过data-*
访问dataset
个属性。旧版浏览器不支持这种功能。只需避免它并使用旧的DOM属性方法。