Javascript 我有一个在mozilla上运行良好的脚本,但在IE8上根本不起作用

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

我有一个脚本,当用ie加载它时,它会给我一个错误 消息:“parent.data…”为空或不是对象

这是我单击的链接:

<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");
}