与javascript / jquery

时间:2017-04-18 18:29:09

标签: javascript jquery ios google-chrome

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

2 个答案:

答案 0 :(得分:1)

您的答案https://stackoverflow.com/a/15011028/7041168

按照标准,您需要在任何自定义属性之前使用date-

要更改问题,最好使用Element.getAttribute("")属性。

答案 1 :(得分:0)

links[0]是一个DOM元素对象,它没有属性testPropety

chrome和safari都不会定义该属性。