【发布时间】:2016-01-30 00:29:02
【问题描述】:
我正在尝试选择具有“亮点”类的任何 div 内的“图片”元素的所有实例。这是一个页面部分的示例,其中图片元素位于“highlights”div 中...
<div class="row highlights">
<div class="col-sm-12">
<div class="bx-adapt">
<div class="col-sm-6 col-lg-4">
<figure class="pic square">
<picture>
Content in here
</picture>
</figure>
</div>
</div>
</div>
</div>
在网站上查看了一些与我类似的问题后,我认为以下 Javascript 会选择所有相关的图片元素并设置它们的样式,但事实并非如此。我得到的只是图片元素的每个实例的成功警报。
$('picture').each(function(i, elm) {
if($(elm).closest(".highlights").length > 0) {
$('picture').css("border","10px solid red");
alert("Success");
}
});
我在选择相关图片元素的方式上一定是不正确的,但我不确定问题出在哪里。谁能指出我哪里出错了?
编辑
每个人的答案似乎都是正确的,但我怀疑页面的生成方式由于某种原因不允许我选择图片元素。我可以在图片元素中选择img(给他们红色边框),但不是这样的图片。
对于更多上下文,我正在处理的页面使用延迟加载来顺序加载页面上的图像,但是页面挂在 IE 上,所以我试图选择我认为导致大部分缓慢的元素-下。
【问题讨论】:
-
$('.highlights picture') 可能会更好,而 .each(){$(this).css...