Javascript 传递给jQuery函数的选择器
我有一个函数,在这个函数中,我希望传递的选择器执行封闭的进程。功能如下所示:Javascript 传递给jQuery函数的选择器,javascript,jquery,function,Javascript,Jquery,Function,我有一个函数,在这个函数中,我希望传递的选择器执行封闭的进程。功能如下所示: function menuselector (id){ $(id).css('background', 'url(../img/black_denim.png) repeat'); $(id).css('color', '#FFF'); } function menudeselector (id){ $(id).css('background', 'none'); $(id).css(
function menuselector (id){
$(id).css('background', 'url(../img/black_denim.png) repeat');
$(id).css('color', '#FFF');
}
function menudeselector (id){
$(id).css('background', 'none');
$(id).css('color', '#CE0101');
}
menuselector('mgi');
mgi
是div
标记的IDID通过在ID之前使用哈希作为目标,与CSS中相同
如果你路过
menuselector('mgi');
您需要对其进行调整,使其成为有效的选择器
$('#' + id).css(...
或者您可以发送有效的选择器
menuselector('#mgi');
假设您有一个具有该id的元素(您还没有显示该id)
或者使用一个对象
$(id).css({background: 'none', color: '#CE0101'});
mgi
不是有效的选择器。你应该写:
menusector('#mgi');
或
取决于您是要选择ID还是类
如果您的函数应该只适用于ID,那么您可以使用popnoodle的解决方案,尽管这样限制它的通用性似乎很差。如果它是ID,只需传递“#mgi”:
menuselector('#mgi');
您可以将一个对象传递给:css({'background':'url(../img/black_denim.png)repeat','color':'fff'})
或者您可以将两者链接在一起(只选择一次):.css('background','url(…)repeat').css('color','#fff')但是,如果需要多次使用同一元素,请缓存它,将其存储为变量,从而节省查找相关元素所需的时间。
menusector('#mgi');
menuselector('.mgi');
menuselector('#mgi');