【发布时间】:2013-03-14 09:48:32
【问题描述】:
此脚本在 Firefox 或 chrome 中运行,但在 IE9 中只能运行一半,IE9 是我们网站的顶级浏览器。
我遇到的问题是它抛出了这个错误。
SCRIPT438:对象不支持属性或方法“附加” calc_ajax.js,第 26 行字符 21
在这一行:item.append(link);
我坚持为什么。任何帮助,将不胜感激。
$(document).ready(function(){
$('.first a.btn').click(function(){
$('.first a.active').removeClass('active');
$(this).addClass('active');
$('.second .title').addClass('active');
var id = $(this).data('cat-id');
var wrap = $('<div>');
$.ajax({
url: script_url,
type: "post",
data: {"cat": id},
dataType: "json"
}).success(function(result){
if(result.status == "ok"){
$.each(result.data, function(i, elem){
item = $("<div class='body-area'>").append($("<img src='" + elem.image + "'>"));
link = $("<a href='#results' class='btn'>");
link.text(elem.name);
link.data('subcat-id', elem.id);
item.append(link);
wrap.append(item);
});
$('.second .body').html(wrap).slideDown('fast');
}
});
});
$('.second a.btn').live('click', function(){
$('.second .body-area.active').removeClass('active');
$(this).parent().addClass('active');
var sub_id = $(this).data('subcat-id');
$.ajax({
url: script_url,
type: "post",
data: {"subcat": sub_id},
dataType: "json"
}).success(function(result){
if(result.status == "ok"){
$('.third .title').text(result.data.title);
$('.third .body').html(result.data.body);
$('.third').slideDown('fast');
}
});
});
});
【问题讨论】:
-
您没有声明
item或link,所以它们是全局的,这可能会导致问题,IE 非常特殊,但不确定是否是问题所在... -
有关如何执行此操作的更多信息,因为此代码不是我编写的,不幸的是,我对 js 的了解很少,很抱歉听起来像个笨蛋。
-
@JoeLee 写这篇文章的人应该会问这些问题
-
是的,但我必须修复它,但感谢 sudhir 的代码片段,现在一切正常
标签: javascript jquery internet-explorer-9