我有以下代码,应将此字符串 @266@@271@@295@
拆分为此
<a href="#">266</a>
<a href="#">271</a>
<a href="#">295</a>
并将其附加到它来自的同一容器:.groups
$('.groups').each(function(){
var str = $(this).html();
if (str.substring(0, 1) == '@') {
str = str.substring(1); // Remove first @
}
if(str.substring(str.length-1, str.length) == '@'){
str = str.substring(0, str.length-1); // Remove last @
}
str = str.split(/[@@]+/);
$(this).empty(); // empty the groups container
$.each(str, function(index, val){
alert(val);
var html = '<a href="#">' + val + '</a>'
$(html).appendTo(this);
});
});
我的问题(我认为)是行 $(html).appendTo(this);
我不知何故需要将它添加到之前的each()。
我该怎么做。或者我用这段代码朝错误的方向前进?
最佳答案
我认为你让这种方式太复杂了,只需这样做:
var str = $(this).html();
var parts = str.split("@");
var html = "";
for (var i = 0; i < parts.length; i++) {
html += '<a href="#">' + parts[i] + '</a>';
}
$(this).append(html);
关于javascript - 追加到上一次迭代(每个),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18006208/