我想在jquery对象的末尾添加一个字符串。像这样:
var mytable = $("<table><tbody><tr><td>");
mytable.after("Test</td></tr></tbody></table>");
我也尝试过这个
mytable += "Test</td></tr></tbody></table>";
也不起作用。
答案 0 :(得分: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 :(得分: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);
答案 2 :(得分:1)
除非您提供完整有效的HTML,否则jQuery无法创建页面元素。我不确定你的确切需求,但你应该在这一行上做点什么:
var mytable = $("<table><tbody><tr><td></td></tr></tbody></table>").find("td").text("Test");