Javascript 如何瞄准正确的孩子?

Javascript 如何瞄准正确的孩子?,javascript,jquery,html,jquery-selectors,Javascript,Jquery,Html,Jquery Selectors,我试图在单击其各自的添加btn后将整个iframe添加到阵列中 HTML 我打印出来的是: 未定义未定义未定义未定义未定义未定义未定义未定义 这个怎么样 $('body').on('click', '.btn_video', function () { var urls = []; $('.btn_video').each(function () { urls.push($(this).closest(".thumbnail").find(".embed-responsive

我试图在单击其各自的添加btn后将整个iframe添加到阵列中

HTML

我打印出来的是:

未定义未定义未定义未定义未定义未定义未定义未定义

这个怎么样

$('body').on('click', '.btn_video', function () {
  var urls = [];
  $('.btn_video').each(function () {
      urls.push($(this).closest(".thumbnail").find(".embed-responsive").html());
  });

  var str = '';
  urls.forEach(function (url) {
         str += url;
  });
  $('#usp-custom-5').val(str);
});
在click listener中,您不需要each函数,您可以使用以下方法选择iframe html:

$(this).closest(".thumbnail").find(".embed-responsive")
请参见下面的演示:

var url=[]; $'body'。单击,'.btn_video',函数{ url.push$this.closest.thumbnail.find.embed-responsive.html; $'usp-custom-5'。纹理。连接“”; }; 持续时间: 4:20

添加 持续时间: 4:20

添加
您得到的DOM导航是错误的;您可以使用.closest来查找.col-sm-4容器,然后使用.find来查找。但是,即使您这样做,浏览器也不会允许您访问内容,因为它来自与您不同的域;我得到了所有的div和他们的iframes这是增加了所有的iframes@rob.m这就是您自己的代码试图做的;否则为什么要使用.each循环?如果要在一次单击中收集所有iframe,则需要每个循环,否则如果只需要单击div的iframe,则不需要。
$('body').on('click', '.btn_video', function () {
  var urls = [];
  $('.btn_video').each(function () {
      urls.push($(this).closest(".thumbnail").find(".embed-responsive").html());
  });

  var str = '';
  urls.forEach(function (url) {
         str += url;
  });
  $('#usp-custom-5').val(str);
});
$(this).closest(".thumbnail").find(".embed-responsive")