IF 在each() 中不起作用
我在此函数中放入的任何 if 语句都无法工作。
该声明对于此类的某些元素为 true,对于某些元素为 false,但是全部忽略它
(这是非常精简的功能,只是为了定位问题......)
$(".bought").each(function(index) {
Height = $(this).css("height")
if (Height > 19) {
alert(Height);
}
});
这确实有效:
$(".bought").each(function(index) {
Height = $(this).css("height")
alert(Height);
});
any if statement I put inside this function refuses to work.
The statement is true for some elements with this class and false for some, however all ignore it
(This is very stripped functionality just to locate the problem...)
$(".bought").each(function(index) {
Height = $(this).css("height")
if (Height > 19) {
alert(Height);
}
});
this does work:
$(".bought").each(function(index) {
Height = $(this).css("height")
alert(Height);
});
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
那行得通!
http://jsfiddle.net/NmHb3/
That works!
http://jsfiddle.net/NmHb3/
$(this).css("height")
返回字符串...您需要在应用比较之前将其解析为 int ..$(this).css("height")
returns string...you need to parse this in int before applying comparison..Height
以字符串形式返回。比较实际上是"19" > 19
产生false
。尝试将其转换为整数:
Height
is returned as a string. The comparision is actually"19" > 19
which yieldsfalse
.Try converting it to an integer:
您使用的以下代码返回附加到结果中的“px”,因此您无法将其与“19”进行比较,
像这样解析它并让我们知道您的进展情况:)
The below code which you have used returns 'px' appended to the result so you can't compare it to '19'
Parse it like this and let us know how you get on :)