如果我在jquery中定义了一个变量,如下所示:
var insertString = "<div id='divid'>";
insertString += "<input type='text' name='textbox' value=''>";
insertString += "</div>";
现在,如果我想在某个DOM元素之前插入上面的变量'insertString',我该怎么办呢?我尝试了类似下面的东西但没有成功
insertString.insertBefore("body");
答案 0 :(得分:3)
我不建议在body标签之前插入,因为内容属于它,但是这里是你如何在id ='foo'的元素之前插入它。
$(insertString).insertBefore('#foo');
<强>更新强> Here是测试功能的小提琴
答案 1 :(得分:3)
不要在正文之前插入。内容 in 正文。
为什么不是prependTo
呢?
此外,您尝试在字符串上运行jQuery成员函数,而不是在jQuery对象上运行。您需要从字符串中形成jQuery对象。
最后,您忘记关闭input
代码。
$(function() {
var insertString = "<div id='divid'>";
insertString += "<input type='text' name='textbox' value='' />";
insertString += "</div>";
$(insertString).prependTo("body");
});
答案 2 :(得分:2)
您应该能够将html包装在$()
函数中,从而将其传递给jQuery并创建一个jquery对象。然后你可以通过链接jQuery函数来操作该对象:
$(insertString).insertBefore("body");
但是在身体前放置一个div会很奇怪......也许最好将它添加到身体这样......
$(insertString).prependTo("body");