为什么 $( "#id" ).addclass jquery 在 IE9 中不起作用



我对jquery的了解才刚刚开始。下面的代码可以在IE11中工作,但不能在IE9中工作。

<html>
    <body>
        <div id='panel'></div>
    </body>
</html>    
$(document).ready(function () {
    loadData();    
});
function loaddata(){
var div = document.createElement('div');
var str='<div id="dummy" onclick="slideOut(this.id);">Click Here</div>'
div.innerHTML = str;
        document.getElementById("panel").appendChild(div);
}
function slideOut(temp){
$("'#'"+temp+"'").addclass("hidden");
}

slideOut被调用,但它没有向div添加隐藏类。我认为这是用$(document)代替$("#id")的东西。以上代码在IE11中运行良好,但在IE9中不运行(在调试器中模拟)。

jQuery区分大小写。addClass是正确的方法名,其中的"c"应该是大写的。

$("#" + temp).addClass("hidden");

你有你的jsFiddle设置为onDomReady,这意味着你不需要多余的$(document).ready()语句。您可以将其设置为no wrap in <body>以使其工作。

另外,jQuery有一个名为.hide()的辅助方法,因此您不需要附加隐藏的CSS类。$("#" + temp).hide()也可以。

这是一个工作的jsFiddle的例子。

try:

var str='<div id="dummy" onclick="slideOut(this.id);return false;">Click Here</div>'

$('#'+temp).addClass('hidden');

最新更新