我可以使用jQuery将表预先添加到另一个表吗?

时间:2013-01-09 11:48:16

标签: javascript jquery

我正在尝试使用jQuery将表“new”添加到表“lasttable”但我无法得到结果。我做对了还是误解了前置的含义?

<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>");

6 个答案:

答案 0 :(得分:1)

假设你的选择器被破坏了,我想你想把新表.before()放在现有的表中。

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

答案 1 :(得分: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>");

$("#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此处

问题在于转义",重新移动+符号并将其用作单个字符串..这应该有用..

答案 2 :(得分: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>");

答案 3 :(得分:0)

前置逻辑在这里是错误的

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()).

来自Jquery Prepend()

理想情况下,您应该执行类似

的操作
$("#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>");

Prepend()将在表中添加tr元素:lasttable在起始位置 要么 如果要在现有表之前添加表,则可以使用before()而不是prepend() 类似的东西:

$("#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>");

答案 4 :(得分:0)

你确实有一个拼写错误,但要么使用.before()作为karim79建议,或仅将<tr>添加到#lasttable我认为{{1更容易实现,但根据你正在做的工作,最好先添加TR。像这样:

.before()

应该有用。

如果你正在做你正在做的事情,它会将整个表格添加到#new,我怀疑另一个表格中的表是否是有效的标记。

答案 5 :(得分: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/