Chrome和Safari存在问题:
代码示例:
// Get all links with the same data-test attribute
links = $('[data-test]');
//The issue is here:
// This only works in Chrome, not in safari.
var test = links[0].testProperty;
// This works in Chrome and Safari.
var test2 = $(links[0]).attr('testProperty');
console.log(test)
console.log(test2)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a href="#" testProperty="valueTest1" data-test>Test1</a>
<a href="#" testProperty="valueTest2" data-test>Test2</a>
<a href="#" testProperty="valueTest3" data-test>Test3</a>
为什么Safari不允许links[0].testProperty
?
答案 0 :(得分:1)
您的答案https://stackoverflow.com/a/15011028/7041168
按照标准,您需要在任何自定义属性之前使用date-
。
要更改问题,最好使用Element.getAttribute("")
属性。
答案 1 :(得分:0)
links[0]
是一个DOM元素对象,它没有属性testPropety
。
chrome和safari都不会定义该属性。