Javascript 我有一个在mozilla上运行良好的脚本,但在IE8上根本不起作用
我有一个脚本,当用ie加载它时,它会给我一个错误 消息:“parent.data…”为空或不是对象 这是我单击的链接:Javascript 我有一个在mozilla上运行良好的脚本,但在IE8上根本不起作用,javascript,jquery,ajax,function,Javascript,Jquery,Ajax,Function,我有一个脚本,当用ie加载它时,它会给我一个错误 消息:“parent.data…”为空或不是对象 这是我单击的链接: <a onclick="selectPage($(this));" href="#">Menu</a> } 我似乎不明白为什么ie中没有显示该页面,但mozilla中显示得很好 谢谢你给我的任何建议。试着这样做: <a onclick="selectPage(this);" href="#">Menu</a> functio
<a onclick="selectPage($(this));" href="#">Menu</a>
}
我似乎不明白为什么ie中没有显示该页面,但mozilla中显示得很好
谢谢你给我的任何建议。试着这样做:
<a onclick="selectPage(this);" href="#">Menu</a>
function selectPage(obj){
var liobj = $(obj);
//alert(liobj.parent().data("page_data").type);
$(".canvas_page").each(function(index, object){
$(object).hide();
});
if(liobj == "main"){
$("div#site_options").show();
$("#pagesList").children().removeClass("selected");
$("#sidebar .button").addClass("selected");
return;
}
liobj.parent().data("canvas_page").show();
liobj.parent().siblings().removeClass("selected");
liobj.parent().addClass("selected");
$("#sidebar .button").removeClass("selected");
}
也可以尝试在其他浏览器上测试,并使用JSLint/JSHint等工具。有时它会像丢失逗号一样愚蠢……正如我所说的,在mozilla中它工作得很好。我试过JSLint,但没有任何效果。链接在一个标签内;这究竟将如何改变任何事情?您所做的只是更改调用jQueryelem的位置,以便在函数中调用它。除非selectPage位于本地定义$LOCAL的闭包中,否则这无法更改任何内容。
function selectPage(obj){
var liobj = $(obj);
//alert(liobj.parent().data("page_data").type);
$(".canvas_page").each(function(index, object){
$(object).hide();
});
if(liobj == "main"){
$("div#site_options").show();
$("#pagesList").children().removeClass("selected");
$("#sidebar .button").addClass("selected");
return;
}
liobj.parent().data("canvas_page").show();
liobj.parent().siblings().removeClass("selected");
liobj.parent().addClass("selected");
$("#sidebar .button").removeClass("selected");
}