关于自定义属性的获取问题,把自定义属性写在行间,问什么获取不到值?

<body>


<div id="div1" index="2"></div>

<script type="text/javascript">


var div = document.getElementById('div1');

alert(div.index)----》已在行间自定义属性值设为2,为什么获取不到?

div.index = 1;----》在js中设置了自定义属性值为1之后,在下面一行可以获取到值?

alert(div.index)

div.setAttribute('index','3');

alert(div.getAttribute('index'))

//alert(div.getAttribute('index'))

//alert(div['id'])

</script>

</body>


偶然的你
浏览 411回答 1
1回答

UYOU

因为div.index === undefined,当执行div.index = 1;时,index才被定义。不修改HTML在IE中:var&nbsp;index&nbsp;=&nbsp;document.getElementById('div1').index;Other:var&nbsp;index&nbsp;=&nbsp;document.getElementById('div1').getAttribute(`index`);HTML5如果你想要使用的是 HTML 5 的自定义属性,你应该将属性命名为data-*(即date-index)。这样使用它:var&nbsp;index&nbsp;=&nbsp;document.getElementById('div1').dataset.index;
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript