使用 "this" - Jquery 获取 div 中的子元素

Get child element within a div using "this" - Jquery

我在一个页面上有一堆 HTML 容器,当我遍历获取每个 "iframeHolder" 时,我无法在容器中获取 iframe 来向它传递一个属性。

我正在使用的脚本在 HTML 下面,关于如何正确获取子元素并无错误地更新属性有什么建议吗?

  <div class="row iframeHolder>
    <div class="col-large col-centered position-relative">
      <div class="card mb-4 box-shadow">

          <iframe class="iframes">
            <p>Your browser does not support iframes.</p>
          </iframe>
      </div>
    </div>
  </div>



$('.iframeHolder').each(function() {
      var iframe = $(this, 'iframe');
      console.log(iframe);

      iframe.attr('src', `google.com`);  
});

看起来你刚刚颠倒了函数参数。上下文在选择器之后,而不是之前:

$('iframe', this);

示例:

$('.iframeHolder').each(function() {
  var iframe = $('iframe', this);
  iframe.attr('src', 'https://google.com');  
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="row iframeHolder">
  <div class="col-large col-centered position-relative">
    <div class="card mb-4 box-shadow">

      <iframe class="iframes">
        <p>Your browser does not support iframes.</p>
      </iframe>
    </div>
  </div>
</div>

(示例中的进一步编辑包括更正 HTML 中您没有关闭属性值的拼写错误,并将 google.com 更改为完整的 URL。如果 Google 不允许来自其他来源的帧,当然将不起作用,但代码本身仍然可以正常工作。我没有允许这样做的网站的现成示例。)