在if / else中设置变量的JQuery问题

时间:2011-09-01 11:33:59

标签: javascript jquery variables

如果item属性等于特定字符串,我试图将变量设置为0,否则将变量设置为1,但我无法使其工作。

我的代码在我的javascript函数中是这样的:

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

由于某种原因,即使item属性不等于特定字符串,变量也始终设置为0。

我做错了什么?

4 个答案:

答案 0 :(得分:3)

你必须改为使用它:

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

$(this).attr("attribute", "string")将属性attribute设置为string,不会测试attribute是否等于string

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

答案 1 :(得分:1)

尝试 -

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

这会将属性"attribute"的值与值"string"进行比较。您目前正在做的是将属性"attribute"的值设置为值"string"。我怀疑这个函数会返回一个“truthy”值,因此variable总是设置为0。

答案 2 :(得分:1)

您在if

中设置字符串
if( $(this).attr("attribute", "string") ){

您需要阅读并比较

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

答案 3 :(得分:0)

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