0

假设我有以下代码迭代<span>内部<div>

$('#recommendTextArea').children('span').each(function () {
    //mentionedFriends.push($(this).html()); 
    var mentionedFriendName = $(this).html();
    jQuery.each(friendsList, function () {
        if (this.name == mentionedFriendName) {
            var facebookId = '@[' + this.id + ']';
        }
    });
});

我本质上想<span>facebookId. 这样的事情可能吗?如果是怎么办?

4

1 回答 1

3

使用replaceWith.

$('#recommendTextArea').children('span').each(function () {
    var $span = $(this);

    //mentionedFriends.push($(this).html()); 
    var mentionedFriendName = $(this).html();
    jQuery.each(friendsList, function () {
        if (this.name == mentionedFriendName) {
            var facebookId = '@[' + this.id + ']';
            $span.replaceWith(facebookId);
        }
    });
});

编辑: 如果您需要处理特殊字符等。您可以这样做:

$span.replaceWith($("<div>").text(facebookId).contents());
于 2013-05-24T03:18:23.790 回答