2011-05-04 51 views
0

這裏是我的jQuery appendTo()代碼:「非法字符」中的jQuery appendTo()

$('<li><a href="javascript:void (0)" onmousedown="document.getElementById('searchType_banner').value='p';">document</a></li>').appendTo('.wapper'); 

的螢火它讓我想起了一個錯誤,「丟失)後,參數列表」中的「onmousedown事件」的位置,有時它會提醒我「非法角色」錯誤。但我不認爲我錯過任何「)」。

那麼,什麼不應該出現在appendTo()或者,我應該在appendTo注意()。爲什麼上面發生的錯誤,我怎麼能解決這個問題?

謝謝

+0

@hh,只是一些建議,我認爲你不需要HREF那裏,爲什麼要使其與內嵌代碼這麼複雜,使其更加清潔。 – kobe 2011-05-04 02:36:16

+0

@科比,我想在一個網站上,不同的頁面必須有一些相同的頁面,例如菜單,logo.So我想使用jQuery相同的部分追加到共同的容器.header.it可以節省HTML code.furthermore,網站我正在做的是從花葯複製,包括JavaScript,所以我複製它在所有 – hh54188 2011-05-04 02:53:57

+0

@ kobe:hh可能需要'href'那裏的樣式,至少它不是'href =「#」'。不過,我同意你關於jQuery中的'onmousedown'的問題。 – 2011-05-04 02:54:26

回答

1

的選擇基本上是一個字符串,所以你用單引號破壞你的字符串。你需要逃避它們。

$('<li><a href="javascript:void (0)" onmousedown="document.getElementById(\'searchType_banner\').value=\"p\";">document</a></li>').appendTo('.wapper');

+0

這個輸入的答案將不起作用。 – Phrogz 2011-05-04 02:33:33

+0

真的,我很想知道爲什麼,http://jsfiddle.net/zYWSv/ – Robert 2011-05-04 02:37:44

+0

+1,似乎工作正常 – kobe 2011-05-04 02:41:39

1

如果你看一下語法高亮自己的堆棧溢出的問題,我想你可以看到什麼錯。注意字符串結束的位置。

以下是如何解決這個問題:

$('<li><a href="javascript:void (0)" onmousedown="document.getElementById(\'searchType_banner\').value=\'p\';">document</a></li>').appendTo('.wapper'); 

替代修復:

$('<li><a href="javascript:void (0)" onmousedown="document.getElementById(&quot;searchType_banner&quot;).value=&quot;p&quot;;">document</a></li>').appendTo('.wapper'); 

編輯觀點:唉!您不應該將錨點元素僅用於JavaScript。如果您喜歡,請使用<button>並將其設置爲鏈接。以下是我會寫:

$('<button>document</button>').mousedown(function(){ 
    $('#searchType_banner').val('p'); 
}).appendTo('.wapper'); 
0
$('<a></a>').html('document').mousedown(function(){}).wrap('<li></li>').appendTo('.wapper');