2011-09-01 62 views
1

我试图设置一个变量为0,如果一个item属性等于一个特定的字符串,否则将该变量设置为1,但我不能让它工作。在if/else中设置变量的JQuery问题

我的代码是这样的,我的javascript功能:

var variable; 
    if ($(this).attr("attribute", "string")) 
     variable=0; 
    else 
     variable=1; 

出于某种原因,该变量总是被置为0,即使该项目的属性不等于特定的字符串。

我在做什么错?

+0

请参阅http://api.jquery.com/attr/ – Peter

回答

3

你必须使用它代替:

var variable; 
if ($(this).attr("attribute") == "string") 
    variable=0; 
else 
    variable=1; 

$(this).attr("attribute", "string")属性attribute设置为string,它不检查,如果attribute等于string

请参阅attr(attributeName,value)方法文档。

+0

谢谢,它工作! :) – kokomo

1

尝试 -

var variable; 
if ($(this).attr("attribute") == "string") 
    variable=0; 
else 
    variable=1; 

此属性"attribute"的值进行比较,以价值"string"。目前您正在执行的操作是将属性"attribute"的值设置为值"string"。我怀疑这个函数将返回因此variable总是被设置为0。

+0

谢谢,它像一个魅力工作! :) – kokomo

1

在您设置字符串“truthy”值你如果

if($(this).attr("attribute", "string")){ 

你需要阅读并compatre

if($(this).attr("attribute") === "string")){ 
0

尝试$(this[attribute="string"])