使用特定类为每个div创建元素

时间:2016-04-25 10:46:33

标签: javascript for-loop dom

我有几个带有“isVideo”类的div。我可以使用for循环成功附加click事件,但我还需要在每个div中创建一个span。这就是我所拥有的:

var videos = document.getElementsByClassName("isVideo");
     for (var i = 0; i < videos.length; i++) {
     videos[i].addEventListener('click', playVideo, false);
     var playBtn =  videos[i].createElement("span");
     playBtn.appendChild(videos[i]);
}

codepen:http://codepen.io/garethj/pen/bpxVKX

2 个答案:

答案 0 :(得分:3)

appendingspan div。您需要在spanElement

中添加divElement

var videos = document.getElementsByClassName("isVideo");
for (var i = 0; i < videos.length; i++) {
  videos[i].addEventListener('click', playVideo, false);
  var playBtn = document.createElement("span");
  videos[i].appendChild(playBtn);
}

修改:同时将videos[i].createElement更改为document.createElement,因为videos[i]没有方法createElement

Codepen Demo

答案 1 :(得分:1)

应该以相反的方式完成。

替换

playBtn.appendChild(videos[i]);

videos[i].appendChild(playBtn);