如何在多个 div 中附加文本 jQuery/JS

How to append text in multiple divs jQuery/JS

我是 jQuery/JavaScript 的菜鸟,所以我一直在研究它。 我在这里扩展代码笔:http://codepen.io/chantific/pen/XbrdEg。 我想要做的是将 "youtube-title" div 中的文本附加到 "play-button" div 中。然而,明显的问题是所有三个 div 中的文本在所有三种情况下都附加到 "play-button" div 中。我想知道我是否可以分别附加每个 div 的内容?这是我的代码笔:http://codepen.io/anon/pen/ZbBajz

而不是:

Video1 
man
pig
babe

Video2
man
pig
babe

Video3
man
pig
babe

这就是我想要的:

Video1
man

Video2
pig

Video3
babe


<div class="youtube-container">
  <div class="youtube-player" data-id="b3DRdtSAHrY"></div>
  <div class ="youtube-title"><p>man</p></div>
</div>

<div class="youtube-container">
  <div class="youtube-player" data-id="b3DRdtSAHrY"></div>
  <div class ="youtube-title"><p>pig</p></div>
</div>

<div class="youtube-container">
  <div class="youtube-player" data-id="b3DRdtSAHrY"></div>
  <div class ="youtube-title"><p>babe</p></div>
</div>

//JS/jQuery

(function() {
    var v = document.getElementsByClassName("youtube-player");
    for (var n = 0; n < v.length; n++) {
        var p = document.createElement("div");
        p.innerHTML = labnolThumb(v[n].dataset.id);
        p.onclick = labnolIframe;
        v[n].appendChild(p);
    }
})();
function labnolIframe() {
    var iframe = document.createElement("iframe");
    iframe.setAttribute("src", "//www.youtube.com/embed/" + this.parentNode.dataset.id + "?autoplay=1&autohide=0&border=0&wmode=opaque&enablejsapi=1&controls=2");
    iframe.setAttribute("frameborder", "0");
    iframe.setAttribute("id", "youtube-iframe");
    this.parentNode.replaceChild(iframe, this);
}
function labnolThumb(id) {
    return '<img class="youtube-thumb" src="//i.ytimg.com/vi/' + id + '/hqdefault.jpg"><div class="play-button"></div>';
}
$(".youtube-title")
    .appendTo(".play-button");

感谢帮助。

看起来很简单,但你应该做一些改变,因为 html 看起来不太好。

您有三个相同的 HTML,如果您想向它们粘贴不同的内容,请将它们设为不同的。例如向容器

添加第二个 class
<div class="youtube-container otherclass">
  <div class="youtube-player" data-id="b3DRdtSAHrY"></div>
  <div class ="youtube-title"><p>man</p></div>
</div>

(你也可以添加数据属性,id,随便你)

然后您可以稍微更改您的 js 以将代码粘贴到每个 div 例如:

function pasteText($selector) {
  //Selector must be a valid jQuery selector.
  $selector
     .appendTo(".play-button");
}

//And then you call it for every div you need, with the right selector
//pasteText($(".youtube-container.otherclass"))

我不会给您完整的编码解决方案,但我认为您会明白的。希望对你有帮助。