id为number的jQuery li不会添加addClass

时间:2013-11-06 18:23:22

标签: jquery

我一直在敲打这个问题好几个小时,无法弄清楚为什么这不起作用。我有两个li的id为1_userType和2_userType。

<ul>
    <li id="1_userType">User Type 1</li>
    <li id="2_userType">User Type 2</li>
</ul>

我有一个三元组,如果值为true,则删除一个静音类,如果为false,则会添加一个静音类。

val === true ? $('ul li#1_userType, ul li#2_userType').removeClass('muted') : $('ul li#1_userType, ul li#2_userType').addClass('muted');

除非它返回true或false,否则不会添加或删除该类。奇怪的是我可以在三元组中添加一个console.log('true')或console.log('false'),它会触及其中一个或另一个。这对我来说没有意义。任何帮助表示赞赏!

2 个答案:

答案 0 :(得分:4)

您可能只想做(documentation):

$('#1_userType, #2_userType').toggleClass('muted', val === true);

在那里添加ul li是不必要的,因为ID(在文档中应该是唯一的)查找可以通过本机getElementById方法完成。另外,valid element IDs - before HTML5 - should not begin with numbers,虽然我认为这不是你的代码无效的原因。

答案 1 :(得分:0)

我认为孩子们可以从一个数字开始。