也许这次它会起作用让我们试试......
好吧,这是我的问题,
此代码当前有效:
$(".threadTitle").each(function() {
var colorBackground = "#F7F2ED";
if ($(this).html().indexOf("Abraham") != -1) {
$(this).parent().parent().parent().parent().css("background", colorBackground);
$(this).parent().parent().parent().parent().find(".row1").css("background", colorBackground);
$(this).parent().parent().parent().parent().find(".row2").css("background", colorBackground);
}
});
这是我正在尝试做但不起作用的事情:
var titles = ["Abraham"];
$(".threadTitle").each(function() {
var colorBackground = "#F7F2ED";
var realTitle = $(this).html();
if (titles.indexOf(realTitle) > -1) {
$(this).parent().parent().parent().parent().css("background", colorBackground);
$(this).parent().parent().parent().parent().find(".row1").css("background", colorBackground);
$(this).parent().parent().parent().parent().find(".row2").css("background", colorBackground);
}
});
@Jason P 提供的解决方案
var realTitle = $.trim($(this).text());
for (var i = 0; i < titles.length; i++) {
if (realTitle.indexOf(titles[i]) > -1) {
$(this).parent().parent().parent().parent().css("background", colorBackground);
$(this).parent().parent().parent().parent().find(".row1").css("background", colorBackground);
$(this).parent().parent().parent().parent().find(".row2").css("background", colorBackground);
break;
}
}
我发现的解决方案
var wordsOrPhrases = ["Abraham", "how are you"];
$(".threadTitle").each(function() {
var realTitle = $(this).text();
var asdasdasd = wordsOrPhrases.filter(function(x) {
return realTitle.indexOf(x) > -1;
}).length > 0;
if (asdasdasd) {
$(this).css("background", "#F7F2ED");
}
});
小提琴和速度测试
http://jsperf.com/testestringinsidearray
感谢所有帮助过我的人。