我正在尝试使用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>");
答案 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()).
理想情况下,您应该执行类似
的操作$("#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/