如何使用Jquery将变量附加到以字符串形式存储的HTML元素?

时间:2012-04-13 17:06:45

标签: javascript jquery append

我有一个空的控制组,我想用按钮填充它。无法让它发挥作用。

这是对照组:

var $wrap = '<div class="wrap"><div data-role="controlgroup"></div></div>';

这是按钮:

var $btn = '<a href="#some" data-role="button">Click</a>'

我想做这样的事情:

$wrap.append( $btn );

但它不起作用。

有人可以告诉我我做错了什么吗?我认为$ wrap只是一个字符串,所以我不能在其上调用追加。如果是这样,我该如何正确地做到这一点?

感谢您的帮助!

4 个答案:

答案 0 :(得分:2)

var $wrap = $('<div class="wrap"><div data-role="controlgroup"></div></div>');
var $btn = $('<a href="#some" data-role="button">Click</a>');
$wrap.append( $btn );

这可能有五十种方法,例如:

var $wrap = $('<div class="wrap"><div data-role="controlgroup"></div></div>'),
    $btn = '<a href="#some" data-role="button">Click</a>';

$wrap.children().append( $btn );

或:

var $wrap = $('<div class="wrap"><div data-role="controlgroup"></div></div>'),
    $btn = '<a href="#some" data-role="button">Click</a>';

$('[data-role="controlgroup"]', $wrap).append( $btn );

答案 1 :(得分:1)

你只需要字符串,你需要一个jquery对象来调用append:

var $wrap = $('<div class="wrap"><div data-role="controlgroup"></div></div>');

答案 2 :(得分:1)

嗯,首先,那些是字符串。您将希望使用$将它们转换为jQuery对象。

var $wrap = $('<div class="wrap"><div data-role="controlgroup"></div></div>');
var $btn = $('<a href="#some" data-role="button">Click</a>');

现在要将$btn追加到$wrap,您可以找到内部div(您想要追加元素的位置)并使用.append

$wrap.find("div").append($btn);

Live example

答案 3 :(得分:0)

我认为$ wrap只是一个字符串,所以我不能调用append就可以了。

你可以尝试:

var $wrap = $('<div class="wrap"><div data-role="controlgroup"></div></div>');
var $btn = '<a href="#some" data-role="button">Click</a>';
$wrap.append( $btn );