我想将括号中的值从第二个列表转移到第一个列表。我试着这样做:
$('#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>');
}
});
});
这是我的例子:http://jsfiddle.net/0xm6xzLb/1/它应该是这样的:
Word (4)
Word2 (1)
Word3 (2)
Word
(4)
Word2
(1)
Word3
(2)
答案 0 :(得分:1)
你几乎让你的工作。我从您提供的版本中更改了以下行:
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>');
}
});
});
});