2012-01-02 71 views
2

我有以下功能:jQuery的追加 - 奇数行为

function go_to(sec,name) { 
    $("#lib_nav td:nth-child(2)").append('<span> &gt; <a style="cursor:pointer" OnClick="$(\'.content\') 
           .html(\'<p>Loading</p>\') 
           .load(\'_library_q.php?\',\'sec='+sec+'\')>'+name+'</a></span>'); 
    $('.content').html('<p>Loading</p>') 
         .load('_library_q.php?','sec='+sec); 
} 

这是由脚本调用像

<div class="darkbox" style="cursor:pointer" OnClick="go_to(2,'Hello World');"> 

的问题是,在.append线,它只是一个附加<span> > </span>,它完全跳过了<a>。然而,第二个.load功能起作用。有什么想法吗?

+1

与内联事件处理程序的HTML字符串是难以维持,而且容易出错由于错误的引号等我建议您创建DOM元素并相应地附加事件处理程序。 – 2012-01-02 09:08:20

回答

0

我认为你缺少你的onclick处理结束的双引号:

function go_to(sec,name) { 
    $("#lib_nav td:nth-child(2)").append('<span> &gt; <a style="cursor:pointer" OnClick="$(\'.content\') 
           .html(\'<p>Loading</p>\') 
           .load(\'_library_q.php?\',\'sec='+sec+'\')">'+name+'</a> </span>'); 
    $('.content').html('<p>Loading</p>') 
         .load('_library_q.php?','sec='+sec); 

}

+0

谢谢,它的工作原理!该死的jQuery对我来说太聪明了,不会破坏我的页面。 – 2012-01-02 13:52:47