如何获取不使用setAttribute和getAttribute的元素的索引

时间:2017-08-17 01:16:11

标签: javascript

这是我的代码:

const slider = document.querySelector('#image_slider');
const ul = document.querySelectorAll('#image_slider li img');

for(let i = 0; i < ul.length; i++) {
  ul[i].setAttribute('data-slide', i)
};

slider.addEventListener('click', (e) => {

  if(e.target.nodeName === 'IMG') {
     console.log(e.target.getAttribute('data-slide'));
  }


}, false);

我的问题是,如果没有setAttribute和getAttribute,还有其他方法可以解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

您可以使用点表示法生存。但是破折号在点符号中不起作用,因此您必须重构属性名称。

var element = document.getElementsById('image_slider');
element.mycustomattribute = 'foo';

console.log(element.mycustomattribute);

//output: foo

警惕通过点符号定义的属性不能被DOM读取。