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
how to append a variable to an HTML element stored as string using Jquery?
提问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 $btn
into $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);
回答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 );