Javascript 将类添加到包含特定宽度图像的divs
嗨,让我从代码开始Javascript 将类添加到包含特定宽度图像的divs,javascript,jquery,html,css,Javascript,Jquery,Html,Css,嗨,让我从代码开始 <div class="nyhet"> <img src="#" width="785" class="attachement-full" /></div> <div class="nyhet"> <img src="#" width="390" class="attachement-full" /></div> <div class="nyhet"> <img src="#" widt
<div class="nyhet"> <img src="#" width="785" class="attachement-full" /></div>
<div class="nyhet"> <img src="#" width="390" class="attachement-full" /></div>
<div class="nyhet"> <img src="#" width="785" class="attachement-full" /></div>
<div class="nyhet"> <img src="#" width="390" class="attachement-full" /></div>
<div class="nyhet"> <img src="#" width="785" class="attachement-full" /></div>
<div class="nyhet"> <img src="#" width="390" class="attachement-full" /></div>
<div class="nyhet"> <img src="#" width="785" class="attachement-full" /></div>
<div class="nyhet"> <img src="#" width="390" class="attachement-full" /></div>
基本上我想要的是,图像为785的div应该添加一个名为large的类,图像为390的div应该添加一个名为small的类
所以应该是这样的
<div class="nyhet large"> <img src="#" width="785" class="attachement-full" /></div>
<div class="nyhet small"> <img src="#" width="390" class="attachement-full" /></div>
<div class="nyhet large"> <img src="#" width="785" class="attachement-full" /></div>
等等。
到目前为止,这就是我一直试图解决的问题
$(document).ready(function(){
var x = $(".nyhet").length;
for (var i=0; i<x;i++){
n = $(".attachement-full:eq(i)").attr("width");
if (n<785) {
$(".nyhet:eq(i)").addClass("small");
} else {
$(".nyhet:eq(i)").addClass("large");
}
}
});
$(文档).ready(函数(){
变量x=$(“.nyhet”).长度;
对于(var i=0;i您可以只使用一个选择器:
$("img[width=785]").parent(".nyhet").addClass("large");
$("img[width=390]").parent(".nyhet").addClass("small");
您可以只使用一个选择器:
$("img[width=785]").parent(".nyhet").addClass("large");
$("img[width=390]").parent(".nyhet").addClass("small");
您可以只使用一个选择器:
$("img[width=785]").parent(".nyhet").addClass("large");
$("img[width=390]").parent(".nyhet").addClass("small");
您可以只使用一个选择器:
$("img[width=785]").parent(".nyhet").addClass("large");
$("img[width=390]").parent(".nyhet").addClass("small");
根据您的代码片段,我无法判断您是否希望将宽度786
的图像设置为较大的图像,因此有一种方法可用于范围:
$(".nyhet img").each(function() {
var $par = $(this).parent(".nyhet");
if(this.offsetWidth >= 785) {
$par.addClass("large");
} else {
$par.addClass("small");
}
})
根据您的代码片段,我无法判断您是否希望将宽度786
的图像设置为较大的图像,因此有一种方法可用于范围:
$(".nyhet img").each(function() {
var $par = $(this).parent(".nyhet");
if(this.offsetWidth >= 785) {
$par.addClass("large");
} else {
$par.addClass("small");
}
})
根据您的代码片段,我无法判断您是否希望将宽度786
的图像设置为较大的图像,因此有一种方法可用于范围:
$(".nyhet img").each(function() {
var $par = $(this).parent(".nyhet");
if(this.offsetWidth >= 785) {
$par.addClass("large");
} else {
$par.addClass("small");
}
})
根据您的代码片段,我无法判断您是否希望将宽度786
的图像设置为较大的图像,因此有一种方法可用于范围:
$(".nyhet img").each(function() {
var $par = $(this).parent(".nyhet");
if(this.offsetWidth >= 785) {
$par.addClass("large");
} else {
$par.addClass("small");
}
})
Add.parent(.nyhet”)
Add.parent(.nyhet”)
Add.parent(.nyhet”)
Add.parent(.nyhet”)
我想知道,这会通过所有img并更改相应的div吗?我还必须使用$(window)。on('load',function()考虑到图像需要加载时间才能正常工作?是的,因为它无法正常工作。:pHmmm,很好的一点,您需要等待图像实际加载,以计算偏移宽度
。您可以将该行更改为$(this).attr(“宽度”)
如果您要在每个图像上设置宽度属性。这将通过每个img
和一个类为的父元素。nyhet
但不检查没有父元素的图像。nyhet
我想知道,这会通过所有img并更改相应的div吗?我还必须使用$(窗口)。on('load',function()使其工作,考虑到图像需要加载时间?是的,因为它不工作。:pHmmm,很好的一点,您应该等待图像实际加载以计算偏移宽度
。您可以将该行更改为$(this).attr(“宽度”)
如果您要在每个图像上设置宽度属性。这将通过每个img
和一个类为的父元素。nyhet
但不检查没有父元素的图像。nyhet我想知道,这会通过所有img并更改相应的div吗?我还必须使用$(窗口)。on('load',function()使其工作,考虑到图像需要加载时间?是的,因为它不工作。:pHmmm,很好的一点,您应该等待图像实际加载以计算偏移宽度
。您可以将该行更改为$(this).attr(“宽度”)
如果您要在每个图像上设置宽度属性。这将通过每个img
和一个类为的父元素。nyhet
但不检查没有父元素的图像。nyhet我想知道,这会通过所有img并更改相应的div吗?我还必须使用$(窗口)。on('load',function()使其工作,考虑到图像需要加载时间?是的,因为它不工作。:pHmmm,很好的一点,您应该等待图像实际加载以计算偏移宽度
。您可以将该行更改为$(this).attr(“宽度”);
如果要在每个图像上设置宽度属性。这将使用类为.nyhet
的父元素遍历每个img
,但不检查没有父元素的图像。nyhet