以下代码
stringref = "tab_2";
jQuery('.someclass a:not(.someclass #a_someclass_'+stringref+')').css('color', '#000');
在FF 3.5.5错误控制台中给出了这个警告,我无法弄清楚原因:
Warning: Missing closing ')' in negation pseudo-class '#a_someclass_tab_2'.
我的语法是否使我失败或者FF失去了疯狂?
答案 0 :(得分:4)
我认为你的选择器过于复杂 - 我不认为:not()
伪类中允许使用空格。您是否要尝试匹配a
.someclass
个没有给定ID的后代?如果是这样,请删除.someclass
中的:not()
。
答案 1 :(得分:3)
Firefox(3.5.6)确实会发出警告( 如果你没有在Firebug中看到它,那是因为你没有启用'显示CSS错误' - 请参阅Firebug控制台选项卡。)
Firefox以误报的方式将jQuery选择器语法解析为不兼容的CSS。忽略此FF警告是安全的(记住这不是错误)。
答案 2 :(得分:2)
我第二个戴夫,因为它很可能是你选择器中的空间。
与CSS标准相比,jQuery中的:not()语法得到了增强,因此解析器似乎发出警告,因为它只检查CSS合规性。
答案 3 :(得分:1)
语法看起来很好,并没有给我任何错误。但我会简化一下,这可以帮助你避免误报警告。
var stringref = "tab_2";
jQuery('a.someclass:not(#a_someclass_'+stringref+')').css('color', '#000');