2010-12-10 20 views
2

我想在jquery對象的末尾添加一個字符串。事情是這樣的:jquery問題:給jquery對象添加東西

var mytable = $("<table><tbody><tr><td>"); 
mytable.after("Test</td></tr></tbody></table>"); 

我試着用太

mytable += "Test</td></tr></tbody></table>"; 

也不起作用。這裏

回答

1

jQuery不能這樣工作。當你在處理jQuery中的元素時,它們總是有效的。如果它無法驗證它,它將不會添加它。我想你的榜樣和jQuery完成了無效的HTML:

var mytable = $("<table><tbody><tr><td>");  
// mytable is equal to $("<table><tbody><tr><td></td></tr></tbody></table>"); 

如果你正在尋找一個新的小區加入到表格中,你可以選擇所需的元素(即tr),然後使用append方法

mytable.find("tr").append("<td>New cell</td>"); 

當然,你可以添加兩個字符串連接在一起,並把它們放在一個jQuery對象,只要他們加入,使有效的HTML

var string1 = "<table><tbody><tr><td>First half and"; 
    string1 = " second half</td></tr></tbody></table>"; 

mytable = $(string1 + string2); 
+0

好吧,我認爲這有助於我更好地理解jquery。我想我現在知道如何解決這個問題。謝謝你,謝謝大家的幫助。 – huuerequer 2010-12-10 10:20:16

1

問題是,

"<table><tbody><tr><td>" //jQuery will try to create full html elements from what you enter 

是無效的HTML也不是

"Test</td></tr></tbody></table>" // this will never work, cause this tags are closing only and the table might have been already build when the line before gets executed 

jQuery的也許能夠創造從沒有完全有效的HTML有效元素,但是這並不能在任何情況下工作。 我建議你嘗試使用有效的html工作!

1

JQ除非您提供完整有效的HTML,否則uery無法創建頁面元素。我不確定你的確切需求,但你應該在這條線上做點什麼:

var mytable = $("<table><tbody><tr><td></td></tr></tbody></table>").find("td").text("Test");