2013-01-09 70 views
2

我想使用jQuery將表「新」前置到表「lasttable」,但我無法得到結果。我做的是正確的事情,還是我誤解了前置的含義?我可以使用jQuery將表預置到另一個表嗎?

<table id ="lasttable" class="add" border="1px" width="100%"> 
<tr class="header"><td class="location" colspan="7">New Item</td></tr> 
</table> 

我的jQuery:

$("#lasttable").prepend("<table id=\"new\" class=\"add\" border=\"1px\" width=\"100%\">" 
+"<tr class=\"header\"><td class=\"stretch\"><a class=\"eloc\" rel=\"leanModal\" href=\"#modal_location\"><img src=\"images/edit-icon.png\" alt=\"Location\"></a></td><td class=\"location\" colspan=\"6\"></td></tr> 
+"</tbody></table>"); 
+2

你的表有一個id 'lasttable',但在你的js中,你正在引用'#lasttablet' ... – boz

+1

你有'#lasttablet'在選擇器中,而不是'#lasttable' –

+0

對不起,我的錯字錯誤,它是#lasttable不知何故,當我在這裏輸入它錯了...仍然無法正常工作。 – user1934737

回答

0

這裏

$("#lasttablet") //this is wrong selector since your id is lasttable 

變化

$("#lasttable") 

修訂

$("#lasttable").prepend("<table id=\"new\" class=\"add\" border=\"1px\" width=\"100%\"><tr class=\"header\"><td class=\"stretch\"><a class=\"eloc\" rel=\"leanModal\" href=\"#modal_location\"><img src=\"images/edit-icon.png\" alt=\"Location\"></a></td><td class=\"location\" colspan=\"6\"></td></tr></tbody></table>"); 

fiddle這裏

問題取代這個

$("#lasttable").prepend("<table id=\"new\" class=\"add\" border=\"1px\" width=\"100%\">" 
+"<tr class=\"header\"><td class=\"stretch\"><a class=\"eloc\" rel=\"leanModal\" href=\"#modal_location\"><img src=\"images/edit-icon.png\" alt=\"Location\"></a></td><td class=\"location\" colspan=\"6\"></td></tr> 
+"</tbody></table>"); 

與逃避",取出+標誌,並把它作爲一個字符串..這應該工作..

+0

是的,我已將「#lasttablet」更正爲「#lasttable」仍未顯示。 – user1934737

+0

更新了我的答案...檢查出來.. – bipen

+0

我在小提琴測試它似乎工作,但不是在我的代碼,所以我想這是好的只是需要再次看我的代碼。謝謝! – user1934737

1

假設你的選擇器壞了錯字,我想你想把現有的新表.before()

$("#lasttable").before("new content here"); 
+0

嗨Karim,剛剛嘗試.before()也有同樣的結果。 – user1934737

0

你在你的代碼錯字,收盤報價從二線失蹤。

+"<tr class=\"header\"><td class=\"stretch\"><a class=\"eloc\" rel=\"leanModal\" href=\"#modal_location\"><img src=\"images/edit-icon.png\" alt=\"Location\"></a></td><td class=\"location\" colspan=\"6\"></td></tr>" 

Live Demo

$("#lasttable").prepend("<table id=\"new\" class=\"add\" border=\"1px\" width=\"100%\">"+"<tr class=\"header\"><td class=\"stretch\">123<a class=\"eloc\" rel=\"leanModal\" href=\"#modal_location\"><img src=\"images/edit-icon.png\" alt=\"Location\"></a></td><td class=\"location\" colspan=\"6\"></td></tr></tbody></table>"); 
+0

嗨Adil,不走也。 – user1934737

+0

你是什麼意思「不走也走」?你在我的回答中檢查了domo鏈接嗎? – Adil

+0

先生,是小提琴工作,但不是與我的應用程序,所以我想這是好的,我需要調查我的一面。 – user1934737

0

前插的邏輯是從Jquery Prepend()

錯在這裏

The .prepend() method inserts the specified content as the first child of each element in the jQuery collection (To insert it as the last child, use .append()). 

理想情況下,你應該這樣做

$("#lasttable").prepend("<tr><td><table id=\"new\" class=\"add\" border=\"1px\" width=\"100%\">" 
+"<tr class=\"header\"><td class=\"stretch\"><a class=\"eloc\" rel=\"leanModal\" href=\"#modal_location\"><img src=\"images/edit-icon.png\" alt=\"Location\"></a></td><td class=\"location\" colspan=\"6\"></td></tr> 
+"</tbody></table></td></tr>"); 

預定()將增加你的表內tr元素:如果你想讓你現有的表,那麼你可以前(使用前添加一個表,而不是預先準備的起始位置 OR lasttable)() 東西像:

$("#lasttable").before("<tr><td><table id=\"new\" class=\"add\" border=\"1px\" width=\"100%\">" 
+"<tr class=\"header\"><td class=\"stretch\"><a class=\"eloc\" rel=\"leanModal\" href=\"#modal_location\"><img src=\"images/edit-icon.png\" alt=\"Location\"></a></td><td class=\"location\" colspan=\"6\"></td></tr> 
+"</tbody></table></td></tr>"); 
+0

但如果我不想添加​​?我做不到?或者什麼是正確的使用方法? – user1934737

+0

所以你想在現有的表之前添加表:lasttable,在這種情況下使用「之前」 –

0

你有一個確實錯字,但無論是使用.before()作爲karim79建議,或預先準備僅<tr> s到#lasttable我認爲.before()更容易實現,但取決於你在做什麼,可能會更好地預先安排TR。就像這樣:

var trs = $("#new").html(); 
$("#lasttable").prepend(tds); 

應該工作。

如果你現在正在做的事情,它會將整個表格預先設置爲#new,並且我懷疑另一個表格內的表是否是有效的標記。

+0

所以我應該這樣做? var trs = $(「#new」)。html(「

\"Location\"新插入
「); – user1934737

+0

也許,看起來不錯。 @ user1934737 – 11684

0

嘗試這一個:只是刪除了+,使一個完整的字符串

$("<table id=\"new\" class=\"add\" border=\"1px\" width=\"100%\"><tr class=\"header\"><td class=\"stretch\"><a class=\"eloc\" rel=\"leanModal\" href=\"#modal_location\">asdfasdfa<img src=\"images/edit-icon.png\" alt=\"Location\"></a></td><td class=\"location\" colspan=\"6\"></td></tr></tbody></table>").prependTo('#lasttable'); 

.prepend()

$('#lasttable').prepend("<table id=\"new\" class=\"add\" border=\"1px\" width=\"100%\"><tr class=\"header\"><td class=\"stretch\"><a class=\"eloc\" rel=\"leanModal\" href=\"#modal_location\">asdfasdfa<img src=\"images/edit-icon.png\" alt=\"Location\"></a></td><td class=\"location\" colspan=\"6\"></td></tr></tbody></table>"); 

您可以檢出的位置:http://jsfiddle.net/Q2tQd/

+0

你也可以用'.prependTo()'來實現。 – Jai

相關問題