3

我有一个函数,我希望我传递的选择器执行封闭的过程。功能如下:

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

4

3 回答 3

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'});
于 2013-11-02T22:09:28.850 回答
1

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

menusector('#mgi');

或者

menuselector('.mgi');

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

如果你的函数应该只适用于 ID,你可以使用 popnoodle 的解决方案,尽管这样限制性似乎一般性较差。

于 2013-11-02T22:10:23.497 回答
1

如果它是一个 ID,只需传递 '#mgi':

menuselector('#mgi');
于 2013-11-02T22:11:06.530 回答