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

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/10145198/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-10-26 08:50:10  来源:igfitidea点击:

how to append a variable to an HTML element stored as string using Jquery?

javascriptjqueryappend

提问by frequent

I have an empty controlgroup, which I want to populate with buttons. Can't get it to work.

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

This is the controlgroup:

这是控制组:

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

This is the button:

这是按钮:

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

I want to do something like this:

我想做这样的事情:

$wrap.append( $btn );

But it's not working.

但它不起作用。

Can someone tell me what I'm doing wrong? I think $wrap is just a string, so I cannot call appendon it. If so, how do I do it correctly?

有人可以告诉我我做错了什么吗?我认为 $wrap 只是一个字符串,所以我不能在它上面调用append。如果是这样,我该如何正确执行?

Thanks for help!

感谢帮助!

回答by adeneo

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

There's probably fifty ways to this, like:

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

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

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

or:

或者:

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

回答by Alex Turpin

Well, first off, those are strings. You'll want to turn them into jQuery objects using $.

嗯,首先,那些是字符串。您会想要使用 .js 将它们转换为 jQuery 对象$

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

Now to append $btninto $wrap, you can go find the inner div (which is where you want to append the element) and use .append:

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

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

Live example

活生生的例子

回答by James Montagne

You simply have strings, you need a jquery object to call append:

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

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

回答by wong2

I think $wrap is just a string, so I cannot call append on it.

我认为 $wrap 只是一个字符串,所以我不能在它上面调用 append 。

Yes.

是的。

You could try:

你可以试试:

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