Javascript 如何使用JQuery将变量类名传递给我的对象函数?
我是面向对象编程的新手。我试图将元素类作为参数传递给函数。我知道我错过了一些东西…请参见下面的代码:Javascript 如何使用JQuery将变量类名传递给我的对象函数?,javascript,jquery,Javascript,Jquery,我是面向对象编程的新手。我试图将元素类作为参数传递给函数。我知道我错过了一些东西…请参见下面的代码: 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).slid
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);
var n=新对象();
n、 mousePosition=函数(类,y){
$(文档).mousemove(函数(e){
如果(e.pageYy){$(class).slideUp(200);}
});
}
n、 鼠标位置('.nav',100);
.nav
是元素类名,我试图将其作为类
参数传递给我的函数,$(类)。向下滑动…
不会拾取它
任何帮助都将不胜感激,谢谢
类
是一个保留字,请在其前面加上其他内容以避免该问题,即<代码>myClass
此外,您不需要在类
前面加上。将其作为参数传入时
n.mousePosition('nav', 100);
类是JavaScript中的保留关键字。使用不同的名称,例如className作为参数名。请注意,
class
是一个保留字:
function t(class) }
console.log(class);
}
t("test")
结果(Firefox 8.0):
SyntaxError:类是保留标识符
尝试重命名为className
(或类似名称)
我给出的更一般的建议是,通过在Firebug或JSFIDLE中运行代码片段,或者在其他一些可能暴露错误的环境中进行调试,您可以很容易地发现这个错误。类在JavaScript中是一个保留字。不能将类用作变量名。对于其他保留字,您可以访问:
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);
var n=新对象();
n、 鼠标位置=函数(klass,y){
$(文档).mousemove(函数(e){
如果(e.pageYy){$(klass).slideUp(200);}
});
}
n、 鼠标位置('.nav',100);
请参阅JSFIDLE示例的实际操作
类
是JavaScript中的一个,如果使用不同的变量名(elemClass
,例如),会发生什么情况?@DavidThomas感谢一万亿,这很有效,不用担心,这也是下面几个答案的中心主题。因此,如果解决了,您应该接受其中一个=),但他需要在函数中添加一个点(.),最好是传递.nav
,因为稍后可以将它更改为其他选择器+1作为保留字,-1,因为正在使用jQuery,因此,是的,他确实需要在类名前面加上
@AaronMcIver前缀,谢谢您的输入。戴维托马斯的评论起了作用