选择器传递给jQuery函数

时间:2013-11-02 22:07:19

标签: 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('color', '#CE0101');

}

menuselector('mgi');

mgidiv代码的ID

3 个答案:

答案 0 :(得分:6)

通过在id之前使用哈希来定位ID,与CSS中的相同。

如果你要传递

menuselector('mgi');

您需要调整它以使其成为有效的选择器。

$('#' + id).css(...

或者您可以发送有效选择器

menuselector('#mgi');

假设您有一个带有该ID的元素(您没有显示)

<div id="mgi">

<强>除了

你不应该继续选择元素。你可以链接

$(id).css('background', 'none').css('color', '#CE0101');

// on new lines for readability if there are a lot of actions
$(id).css('background', 'none')
    .css('color', '#CE0101');

或使用对象

$(id).css({background: 'none', color: '#CE0101'});

答案 1 :(得分:1)

mgi不是有效的选择器。你应该写:

menusector('#mgi');

menuselector('.mgi');

取决于您是要选择ID还是类。

你可以使用popnoodle的解决方案,如果你的功能只适用于ID,虽然这样的限制性似乎很差。

答案 2 :(得分:1)

如果它是ID,请传递'#mgi':

menuselector('#mgi');