使用 "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 不允许来自其他来源的帧,当然将不起作用,但代码本身仍然可以正常工作。我没有允许这样做的网站的现成示例。)
我在一个页面上有一堆 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 不允许来自其他来源的帧,当然将不起作用,但代码本身仍然可以正常工作。我没有允许这样做的网站的现成示例。)