我对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');