我对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中运行不正常(在调试器中模拟)。 请帮忙。
答案 0 :(得分:2)
jQuery区分大小写。 addClass
是正确的方法名称,&#39; c&#39;应该是大写的。
尝试
$("#" + temp).addClass("hidden");
您将jsFiddle设置为onDomReady,这意味着您不需要冗余的$(document).ready()
语句。您可以将其设置为no wrap in <body>
以使其正常工作。
此外,jQuery有一个名为.hide()
的辅助方法,因此您不需要附加隐藏的CSS类。 $("#" + temp).hide()
也可以。
以下是您的示例的working jsFiddle。
答案 1 :(得分:1)
尝试:
var str='<div id="dummy" onclick="slideOut(this.id);return false;">Click Here</div>'
也
$('#'+temp).addClass('hidden');