我有一个传递给这个函数的字符串,它是一个元素的ID。我需要它成为一个jQ对象,这是正确的做法吗?
传递给函数:myfunct('gluk')
myfunct = function(t) {
var target = $(['#' + t]);
target.someMethod();
};
当我直接使用$('#gluk').someMethod();
时,它可以正常工作,但不能通过上面的函数...
答案 0 :(得分:1)
通常以这种方式执行会消除jquery的许多优点
这样的事情可能会更好一些。
var myfunct = function(t){
var target = jQuery(t); //use jQuery in case you ever need noConflict()
//run typical commands
target.someMethod();
target.someMethod2();
//return jquery object for more
return target;
}
然后您可以使用myfunct('#id')
或var obj = myfunct('#id'), height = obj.height();
如果您主要担心的是必须每次都添加#,那么您可以这样做:
var myfunct = function(t){
var target = jQuery('#'+t); //use jQuery in case you ever need noConflict()
//run typical commands
target.someMethod();
target.someMethod2();
//return jquery object for more
return target;
}