2011-01-10 80 views
3

我的jquery腳本有什麼問題?不能將文本字符串傳遞給jquery函數?

這裏的腳本

function debug(message){ 
    $("body").append("<div id=\"debug\">"+ $(message) +"</div>"): 
} 
debug("show this debug message in the div"); 

這裏是生成的HTML我得到

<div id="debug">[object Object]</div> 

,我期待的HTML是這個

<div id="debug">show this debug message in the div</div> 

回答

4

你在,粘貼的對象$(消息),而不是可變消息。試試這個:

function debug(message){ 
     $("body").append("<div id=\"debug\">"+ message +"</div>"): 
    } 
+0

謝謝jmort。這樣可行。 – 2011-01-10 05:25:47

8

您使用$(message)一個字符串轉換爲一個jQuery對象。基本上,你正在使message不再是一個字符串,而是一個jquery的選擇器。請嘗試以下操作:

function debug(message){ 
    $('body').append($('<div>').attr('id','debug').text(message)); 
} 

注意到我使用.attr和的.text,因爲這是附加信息時,出價更安全的一點點。

編輯另外,還有一點需要注意:ID是HTML中的唯一標識符。因爲這個原因,如果你多次調用這個函數,你可能想要分配一個perm。 「div」可以改變.text()的值,或者考慮爲div使用debug [CSS]類。

+0

我發佈之前刷新的好東西。這正是我要說的。 +1 – 2011-01-10 05:14:17

相關問題