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
标记的ID

ID通过在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');