Javascript 通过文本连接2个列表并添加值

Javascript 通过文本连接2个列表并添加值,javascript,jquery,Javascript,Jquery,我想将括号中的值从第二个列表转移到第一个列表。我试着这样做: $('#views-exposed-form-cat-watch-block .form-type-radio label.option').each(function(){ var a = this; $('#block-views-tags-block .views-field-name a').each(function(){ var b = this; if($(a).text(

我想将括号中的值从第二个列表转移到第一个列表。我试着这样做:

$('#views-exposed-form-cat-watch-block .form-type-radio label.option').each(function(){
    var a = this;
    $('#block-views-tags-block .views-field-name a').each(function(){
        var b = this;
        if($(a).text().indexOf(b)!=-1){         
            var c = $(b).closest('.views-row').find('.views-field-nid .field-content').text();
            $(a).after('<span>'+c+'</span>');
        }
    });
});

你几乎让你的工作。我唯一更改的是您提供的以下行版本:

if($(a).text() == $(b).text())
您提供的版本的问题是
b
是一个DOM元素,因此
indexof
将始终返回-1。将
b
转换为文本后,一切都将正常工作。接下来您会注意到,因为您使用的是索引,所以第一个项目
Word
在所有三个项目中都显示为子字符串。为了绕过这一点,我只是将其设置为文本必须相等,以防止这种重叠

$(function() {
    $('#views-exposed-form-cat-watch-block .form-type-radio label.option').each(function(){
        var a = this;
        $('#block-views-tags-block .views-field-name a').each(function(){
            var b = this;
            if($(a).text() == $(b).text()){
                var c = $(b).closest('.grid-1-4').find('.views-field-nid .field-content').text();
                $(a).after('<span>'+c+'</span>');
            }
        });
    }); 
});
$(函数(){
$('#查看暴露的表单cat手表块。表单类型radio label.option')。每个(函数(){
var a=此;
$('#块视图标记block.views字段名a')。每个(函数(){
var b=这个;
如果($(a).text()==$(b).text()){
var c=$(b).最近('.grid-1-4').find('.views-field-nid.field-content').text();
$(a).在(''+c+'')之后;
}
});
}); 
});
$(function() {
    $('#views-exposed-form-cat-watch-block .form-type-radio label.option').each(function(){
        var a = this;
        $('#block-views-tags-block .views-field-name a').each(function(){
            var b = this;
            if($(a).text() == $(b).text()){
                var c = $(b).closest('.grid-1-4').find('.views-field-nid .field-content').text();
                $(a).after('<span>'+c+'</span>');
            }
        });
    }); 
});