我有以下功能:
var imgs = $('img');
if ($(imgs).hasClass('cboxPhoto')) {
imgs.each(function() {
var img = $(this);
var width = img.width();
var height = img.height();
if (width < height) {
img.addClass('relative');
} else {
img.removeClass('relative');
}
});
}
我基本上试图说明<img>
是否有&#34; cboxPhoto&#34;然后运行each()函数用于检测高度&amp;宽度并添加&#34;亲属&#34;如果图像宽度大于它的高度。
我已经找错了,但什么都没有出现。是因为我试图在同一个元素内检测到吗?应该有父元素吗?我认为这可能是因为没有为jQuery设置图像参数甚至检测它,因此函数不会运行?
FIDDLE: https://jsfiddle.net/b0rL3vs4/2/
答案 0 :(得分:1)
使用addClass()
,removeClass()
或hasClass()
时,您不使用句号,只需使用类名ex:
.hasClass('cboxPhoto')
请参阅jQuery docs here
的className 类型:字符串 要搜索的类名。
$( "#mydiv" ).hasClass( "foo" )
没有错误会出现,它仍然是有效的代码,但它永远不会找到你要找的类名
看你的代码:
var imgs = $('img');
if ($(img).hasClass('cboxPhoto')) {
您尚未在此行定义img