javascript - 追加到上一次迭代(每个)

标签 javascript jquery

我有以下代码,应将此字符串 @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/

相关文章:

javascript - 在 Vue.js 中,有没有办法让组件模板远离 JavaScript 字符串?

javascript - 如何使用 Web Crypto API 创建哈希?

javascript - jquery datatable 为对象初始化表添加复选框

javascript - 使用 AJAX 进行验证

jquery - 在 HTML 表格中隐藏/显示列

javascript - jQuery 处理 Ajax 超时?

javascript - JS 中的对象命名

javascript - ng-model 未捕获 ng-repeat 中的值

javascript - 输入类型 ="file"上的取消事件

javascript - 无法通过 js .focus() 捕获所需元素的焦点