【发布时间】:2018-02-04 12:25:56
【问题描述】:
我基本上是在尝试使用纯 JavaScript 在每个 img 元素下方添加一个标题,其类名为 img-caption。我找到了一些解决方案,但它们都使用 jQuery,我正在寻找一个普通的 javascript 解决方案。
我目前拥有的是这个不起作用的代码(从this question修改):
//insertAfter() needs to be updated
function insertAfter(referenceNode, newNode) {
referenceNode.parentNode.insertBefore(newNode, referenceNode.nextSibling);
}
function inserCaption() {
var imgs = document.getElementsByTagName("img");
for (var i = 0; i < imgs.length; i++) {
var NewSpan = document.createElement("span");
var Caption = document.getElementsByTagName("img")[i].getAttribute("title");
NewSpan.innerHTML = Caption;
var ImgTag = document.getElementsByTagName("img");
//I need a function inserAfter() to insert the titles after each image
insertAfter(ImgTag, NewSpan);
}
}
<img title="Hi" class="img-caption" src="http://i.imgur.com/KnX16nj.png"/>
<img title="Hello" class="img-caption" style="height:126px; width: auto;" src="http://i.imgur.com/naajTCH.png"/>
<button style="display:blocK" onclick="inserCaption()">Display Image Title</button>
到目前为止,我已经能够选择所有img 元素并获取它们的title 属性。我缺少的是选择具有特定类名img-caption 的img 和更重要的是,如何实际插入相应的 title 每个属性之后 img 作为 span 元素。
由于我只修改了现有的作品,我真的不知道insertAfter() 是如何工作的。在 javascript 方面,我还不是初学者,只是为了澄清一下。
【问题讨论】:
-
打开浏览器控制台并检查错误。如果您不了解
javascript但希望使用它,那么我建议您从您正在使用的 javascript 中学习一些基础知识或研究关键字,这可以帮助您理解这些函数中的操作。
标签: javascript html dom web-frontend