以下是我要修改的代码:
a[href*="google"]
现在我要做的是添加多个关键字,例如google,yahoo等。 我试过这样做,这很好用:
a[href*="google"],[href*="yahoo"]
但现在我正试图从数组中获取数据,例如:
var array = ["google",yahoo","etc"]
我现在应该写什么?对代码感到困惑。 :(
这些不起作用:
1. a[href*=array]
2. a[href*=[array]]
答案 0 :(得分:1)
您需要创建一个这样的jQuery选择器:
a[href *= "<first term>"], a[href *= "<second term>"], a[href *= "..."]
您可以使用map和join动态创建此选择器。像下面的代码应该工作:
var words = ["google", "yahoo", ...], terms, selector;
terms = $.map(words, function() {
return 'a[href *="' + this + '"]';
});
selector = terms.join(', ');
map获取单词数组的每个元素并创建选择器的每个部分(即在选择器语法中包装单词)然后我们将它们与逗号连接在一起以创建jQuery选择器。
答案 1 :(得分:0)
您不能使用快捷方式。但您可以动态构建选择器:
var array = ['google', 'yahoo', 'etc'];
var selectorParts = [];
for(var i = 0; i < array.length; i++) {
selectorParts.push('a[href*=' + array[i] + ']');
}
var selector = selectorParts.join(',');