jQuery:唯一的 Each() var 附加
我将 XML 文件中的一些按钮附加到一些 div 中。每个 div 中都有一两个按钮。
在每个 Each() 中,通过 var 附加按钮。但在每个按钮插入后,Each() 都会覆盖 var。
如何为每个附加创建一个唯一的变量?
这是我想要的“buttonMarkup”,作为唯一的变量,这样它们就不会互相覆盖......
$(this).find('button', this).each(function(index) {
var type = $(this).attr("type");
var label = $(">label", this).text();
var wunLink = $(">link", this).text();
buttonMarkup = "<a href='" + wunLink + "' class='" + type + "'><span>" + label + "</span></a>";
});
我该怎么做?
先感谢您... :-)
I'm appending some buttons from an XML-file, into some divs. Each div has one or two buttons in them.
In each Each(), append the buttons through a var. But after each button insert, the Each() overwrites the var.
How can I make a unique var, for each append??
It's the "buttonMarkup" I would like to have, as unique vars, so they don't overwrite eachother...
$(this).find('button', this).each(function(index) {
var type = $(this).attr("type");
var label = $(">label", this).text();
var wunLink = $(">link", this).text();
buttonMarkup = "<a href='" + wunLink + "' class='" + type + "'><span>" + label + "</span></a>";
});
How do I do this??
Thank you in advance... :-)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
只需在等号上加一个 + 即可连接字符串,
这样您就会在 buttonMarkup 中得到一个长字符串,您可以使用它来追加(buttonMarkup)
just a + to the equal and it will concatenate the string
so then you will have one long string in buttonMarkup that you can use to append(buttonMarkup)
您可以创建一个数组:
或者只是附加到变量:
另请注意,它应该是
$(this).find('button').each(...
。You could create an array:
or just append to the variable:
Also note that it should be
$(this).find('button').each(...
.如果您正在处理一个大字符串,您可以直接连接,如下所示:
或者,如果您想要单独的变量,我建议您可以添加一个数组(
.push()
) 并进行管理,如下所示:例如将其转换为字符串只是一个简单的操作
.join()
,例如this:您还可以使用
.find()
进一步清理您的选择器 它将更好地使用本机选择器引擎,如下所示:或者甚至更好地使用
.map( )
,像这样:If you're dealing with one big string, you can just concatenate, like this:
Or, if you want separate variables I recommend an array you can add (
.push()
) to and manage, like this:For example turning this into a string is just a simple
.join()
, like this:You can also clean up your selectors further than the above by using
.find()
which will use the native selector engine better, like this:or even better using
.map()
, like this: