Javascript jquery addclass id不在列表上工作

Javascript jquery addclass id不在列表上工作,javascript,jquery,Javascript,Jquery,请检查我的密码 CSS .ulData li.sel { background:#fff !important; font-size:0.8em; font-weight:bold; } function switchTab(typ){ $(".ulData li").removeClass("sel"); $("#"+typ).addClass("sel"); $("."+ typ +"Options").addClass("sel"); }

请检查我的密码

CSS

.ulData li.sel {
    background:#fff !important;
    font-size:0.8em;
    font-weight:bold;
}
function switchTab(typ){
    $(".ulData li").removeClass("sel");
    $("#"+typ).addClass("sel");
    $("."+ typ +"Options").addClass("sel");
}
JS

.ulData li.sel {
    background:#fff !important;
    font-size:0.8em;
    font-weight:bold;
}
function switchTab(typ){
    $(".ulData li").removeClass("sel");
    $("#"+typ).addClass("sel");
    $("."+ typ +"Options").addClass("sel");
}
HTML

<ul class="ulData">
  //For Loop li
  <li title="${option.id}" id="${option.key}"><span>aaaa</span></li>
</ul>
然后在Firefox中工作,但不是IE版本。请帮助我们如何将CSS应用于所有浏览器兼容性


提前感谢

如果您的
id
有点,您必须避开它们 (我知道它们可能是模板引擎ID,但以防万一)

$(“#${option.key}”)
将不起作用
$(“#${option\\.key}”)
将起作用

因此,为确保dot ESCP,请执行以下操作:

function switchTab(typ){
  typ = typ.replace(/\./g, "\\\\.");
  //... Your normal code
}
编辑调用
switchTab()
时,您缺少
$(document).ready()
。你应该:

$(document).ready(function(){
    switchTab('companySection');
});
我编辑了你的小提琴


希望这有帮助。干杯

什么是
类型
,它来自哪里?您可以发布所有与之相关的代码吗,例如调用
switchTab
的位置等。您可以分享调用
switchTab
的位置吗?我简要解释了一下,因为这是一个非常大的代码,函数是从同一个JSP文件调用的,我对此很确定。我还尝试保持一个类似alert($(“#”+typ.hasClass(“sel”))的警报;。我得到了“true”。请检查fiddle中的示例,在IE中对我很好。您到底遇到了什么问题?嘿,感谢您的回复,我的类型将不是option.key,这是JSP呈现部分。我的类型将是简单的名称,如“companySection”。