基本的には、img
要素の下に、プレーンJavaScriptを使用してクラス名img-caption
のキャプションを追加しようとしています。私はいくつかのソリューションを見つけましたが、それらはすべてjQueryを使用しており、私はプレーンなjavascriptソリューションを探しています。プレーン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
を選択している欠けている、どのように実際にspan
要素として各img
後の対応title
属性を挿入します。
私は既存の作品だけを変更して以来、私は実際にどのようにinsertAfter()
が動作するか分かりません。私は初心者よりもjavascriptの場合は、明確にするために来ています。私も変更した
var imgs = document.querySelectorAll("img.img-caption");
:
ブラウザのコンソールを開き、エラーをチェック。あなたが 'javascript'を理解していないが、それを使用したい場合は、使用しているjavascriptの基礎や研究キーワードを学ぶことをお勧めします。 – NewToJS