Jquery 找出图像是水平的还是垂直的
我有多个图像,想知道每个图像是水平的还是垂直的,并为其添加一个类,以便我可以相应地设置样式 我尝试了多种方法,包括:Jquery 找出图像是水平的还是垂直的,jquery,width,image,Jquery,Width,Image,我有多个图像,想知道每个图像是水平的还是垂直的,并为其添加一个类,以便我可以相应地设置样式 我尝试了多种方法,包括: if ($(".img").width() > $(".img").height()) { $(this).addClass("horizontal"); } 我做错了什么?谢谢大家! $.img.width返回一个数组。尝试在每个数组中限制一项,或在每个块中运行代码 $this也不会有图像的上下文 $(".img").each(function() { if ($(t
if ($(".img").width() > $(".img").height()) {
$(this).addClass("horizontal");
}
我做错了什么?谢谢大家! $.img.width返回一个数组。尝试在每个数组中限制一项,或在每个块中运行代码 $this也不会有图像的上下文
$(".img").each(function() {
if ($(this).width() > $this.height()) {
$(this).addClass(".horizontal");
}
});
$.img.width返回一个数组。尝试在每个数组中限制一项,或在每个块中运行代码 $this也不会有图像的上下文
$(".img").each(function() {
if ($(this).width() > $this.height()) {
$(this).addClass(".horizontal");
}
});
由于$this,您的代码无法工作。这不是指向此处的image元素,而是指向范围的最新实例 尝试使用jQuery每个循环遍历所有图像元素,然后有条件地添加所需的类
$("img").each(function(){
var $this = $(this);
if ($this.width() > $this.height()) {
$this.addClass("horizontal");
}
});
如果所有图像元素都有class.img,那么可以使用类选择器
$(".img").each(function(){
var $this = $(this);
if ($this.width() > $this.height()) {
$this.addClass("horizontal");
}
});
或者,您可以使用jqueryfilter方法过滤宽度大于高度的所有图像,然后立即添加所需的类
$(".img").filter(function()
var $this = $(this);
return $this.width() > $this.height();
}).addClass("horizontal");
.filter-将匹配元素集减少为与选择器匹配或通过函数测试的元素集
如果在页面加载时执行此操作,请确保在窗口加载事件中执行此代码,这将确保加载所有图像
$(window).load(function(){
$(".img").each(function(){
var $this = $(this);
if ($this.width() > $this.height()) {
$this.addClass("horizontal");
}
});
});
由于$this,您的代码无法工作。这不是指向此处的image元素,而是指向范围的最新实例 尝试使用jQuery每个循环遍历所有图像元素,然后有条件地添加所需的类
$("img").each(function(){
var $this = $(this);
if ($this.width() > $this.height()) {
$this.addClass("horizontal");
}
});
如果所有图像元素都有class.img,那么可以使用类选择器
$(".img").each(function(){
var $this = $(this);
if ($this.width() > $this.height()) {
$this.addClass("horizontal");
}
});
或者,您可以使用jqueryfilter方法过滤宽度大于高度的所有图像,然后立即添加所需的类
$(".img").filter(function()
var $this = $(this);
return $this.width() > $this.height();
}).addClass("horizontal");
.filter-将匹配元素集减少为与选择器匹配或通过函数测试的元素集
如果在页面加载时执行此操作,请确保在窗口加载事件中执行此代码,这将确保加载所有图像
$(window).load(function(){
$(".img").each(function(){
var $this = $(this);
if ($this.width() > $this.height()) {
$this.addClass("horizontal");
}
});
});
你的图片有img类吗?如果没有,您可以使用$'img'选择所有图像
试试看,每个:
你的图片有img类吗?如果没有,您可以使用$'img'选择所有图像
试试看,每个:
$.img返回类为img的元素数组。如果你一次只做一个,它就会起作用
请参见此处的示例:$。img使用类img返回元素数组。如果你一次只做一个,它就会起作用
请参见此处的示例:如果它没有在图像上为您提供正确的宽度/高度,则可能是它在加载图像之前正在计算width.height。要做到这一点,您只需将代码包装在$.'img'.loadfunction{};这将在加载图像后运行匿名函数中的代码 这将使您的代码看起来像:
$(".img").load(function(){
if ($(this).width() > $(this).height()) {
$(this).addClass("horizontal");
}
});
但是,如果要对多个图像执行此操作,则需要将其包装到每个块中:
$(".img").each(function() {
$(this).load(function(){
if ($(this).width() > $(this).height()) {
$(this).addClass("horizontal");
}
});
});
尽管一些海报正确地指出,当前代码使用的是未定义的this如果它没有在图像上为您提供适当的宽度/高度,则可能是它在加载图像之前正在计算width.height。要做到这一点,您只需将代码包装在$.'img'.loadfunction{};这将在加载图像后运行匿名函数中的代码 这将使您的代码看起来像:
$(".img").load(function(){
if ($(this).width() > $(this).height()) {
$(this).addClass("horizontal");
}
});
但是,如果要对多个图像执行此操作,则需要将其包装到每个块中:
$(".img").each(function() {
$(this).load(function(){
if ($(this).width() > $(this).height()) {
$(this).addClass("horizontal");
}
});
});
尽管有一些海报正确地指出,当前您的代码使用的是未定义的图像,但您如何确定图像是水平还是垂直的?比较尺寸是否足以确定图像是水平的还是垂直的?如何确定图像是水平的还是垂直的?比较尺寸是否足以让你决定它是水平的还是垂直的?这应该对你有用。高度和宽度函数将返回包括边框和边距在内的完整尺寸。您还可以进行选择,并使用常规java脚本调用来获取没有边距或边框的高度和宽度。别忘了使用jQueryAPI来查找信息,它在过去对我非常有帮助。之前有人问过类似的问题,你可以将它与@shankarsangli的答案结合使用,你是最好的!!最后一个成功了。这是另一个问题——宽度总是返回0。我不明白为什么,因为我用文件包住了。准备好了吗,但我想这更有效非常感谢!这应该对你有用。高度和宽度函数将返回包括边框和边距在内的完整尺寸。您也可以选择并使用regula
java脚本调用以获取没有边距或边框的高度和宽度。别忘了使用jQueryAPI来查找信息,它在过去对我非常有帮助。之前有人问过类似的问题,你可以将它与@shankarsangli的答案结合使用,你是最好的!!最后一个成功了。这是另一个问题——宽度总是返回0。我不明白为什么,因为我用文件包住了。准备好了吗,但我想这更有效非常感谢!