javascript - 为每个具有特定类的 div 创建元素

标签 javascript for-loop dom

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

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]);
}

代码笔:http://codepen.io/garethj/pen/bpxVKX

最佳答案

您正在span附加 div。您需要在 divElement

内附加 spanElement <小时/>

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

关于javascript - 为每个具有特定类的 div 创建元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36838369/

相关文章:

javascript - 如何让后退按钮转到上一页而不是跳转内部链接?

javascript - 有没有一种方法可以在不调用任何处理程序的情况下使用 jQuery(或常规 DOM API)触发事件

javascript - 如何使用 JavaScript 删除下一个元素(不使用 jQuery)

php - 通过 php domdocument 解析器获取文档元素的子元素

javascript - Handlebars 中的条件

javascript - typescript Bluebird 定义

javascript - 箭头函数与类方法内存占用

javascript - 数字串不能以零开头。其他解决方案?

c++ - pugiXML:无法遍历 sibling !只加载第一个

JavaScript 将所有嵌套对象属性设置为 null