如何传递一个变量className到我的对象函数,使用JQuery

How to pass a variable className to my object function, using JQuery?

本文关键字:对象 我的 函数 JQuery 使用 className 变量 何传递 一个      更新时间:2023-09-26

我是面向对象编程的新手。我试图传递一个元素类作为参数的函数。我知道我错过了什么……参见下面的代码:

var n = new Object();
n.mousePosition = function(class, y){   
    $(document).mousemove(function(e){
        if(e.pageY < y){ $(class).slideDown(200); }
        if(e.pageY > y){ $(class).slideUp(200); }
    });
}
n.mousePosition('.nav', 100);

.nav是元素类名,我试图将其作为class参数传递给我的函数,$(class).slideDown...没有拾取它

任何帮助都将非常感激,谢谢

class是JavaScript中的保留关键字。使用不同的名称,例如className作为参数名

Class是一个保留词,用其他东西开头以避免这个问题,即…myClass .

此外,不需要class前面加上。

n.mousePosition('nav', 100);

class是JavaScript中的保留字。不能使用class作为变量名。其他保留字可以访问:http://www.quackit.com/javascript/javascript_reserved_words.cfm

class是保留关键字,请使用其他关键字,例如klass

var n = new Object();
n.mousePosition = function(klass, y){   
    $(document).mousemove(function(e){
        if(e.pageY < y){ $(klass).slideDown(200); }
        if(e.pageY > y){ $(klass).slideUp(200); }
    });
}
n.mousePosition('.nav', 100);

参见jsfiddle实例http://jsfiddle.net/anuraguniyal/LBfBn/4/

注意class是一个保留字:

function t(class) }
    console.log(class);
}
t("test")

Result (Firefox 8.0):

SyntaxError: class是一个保留的标识符

尝试重命名为className(或类似)。

我给出的更一般建议是,您可以通过在Firebug或jsfiddle中运行代码片段或在其他可能暴露错误的环境中进行调试来轻松捕获此错误。