我有以下HTML
<span class="post-labels">
<a href="http://myblog.blogspot.com/search/label/jQuery%20Downloads">jQuery Donwloads</a>
<a href="http://myblog.blogspot.com/search/label/jQuery">jQuery</a>
<a href="http://myblog.blogspot.com/search/label/mootools">mootools</a>
<a href="http://myblog.blogspot.com/search/label/css">css</a>
<a href="http://myblog.blogspot.com/search/label/blogger">blogger</a>
<a href="http://myblog.blogspot.com/search/label/wordpress">wordpress</a>
</span>
下面的jquery为<a>
http://jsfiddle.net/qbrN8/10/
http://myblog.blogspot.com/search/label/jQuery%20Downloads
元素的类添加为ACCEPT
$(".post-labels a").each(function(){
var domain = "http://myblog.blogspot.com/search/label/";
var dontadd = "jQuery Downloads";
var encode = encodeURI(dontadd);
var url = domain + encode;
var posta = $(this).attr("href");
if(posta!=url){
$(this).addClass("addedclass");
}
});
我正在尝试创建一个数组以使用下面的jquery排除多个指定的URL但是它不起作用http://jsfiddle.net/qbrN8/11/ ....我从未使用过数组,因此我不知道如何完全执行它。我有搜索,但我一直得到像var myarray[0] var myarray[1]
这样的东西的结果,我宁愿有像var myarray = [];
这样的数组
$(".post-labels a").each(function(){
var domain = "http://myblog.blogspot.com/search/label/";
var dontadd = [];
dontadd.push("jQuery Downloads", "css", "wordpress");
var encode = encodeURI(dontadd);
var url = domain + encode;
var posta = $(this).attr("href");
if(posta!=dontadd){
$(this).addClass("addedclass");
}
});
答案 0 :(得分:1)
!=
不起作用。您可以使用indexOf
:http://jsfiddle.net/qbrN8/13/。
$(".post-labels a").each(function(){
var domain = "http://myblog.blogspot.com/search/label/";
var dontadd = ["jQuery Downloads", "css", "wordpress"].map(function(v) {
return domain + encodeURI(v);
});
// `dontadd` is an array of encoded, full URLs
var posta = $(this).attr("href");
// `!~` with `indexOf` can be used for "does not contain"
if(!~dontadd.indexOf(posta)){
$(this).addClass("addedclass");
}
});
答案 1 :(得分:1)
首先:不要在每个变量中声明你的“全局”变量......它会让你为每个元素声明这些变量。它真的没有优化
var dontadd = ["jQuery Downloads", "css", "wordpress"],
domain = "http://myblog.blogspot.com/search/label/";
$(".post-labels a").each( ...
第二:你必须检查标签是否在dontadd中,而不是标签是dontadd =&gt; if (dontadd.indexOf(posta) !== -1)
使用数组意味着您拥有一个元素集合,而不仅仅是一个元素集合。因此,您必须检查您所寻找的“是否”。 indexOf返回元素的索引(0到length-1),如果不存在则返回-1。
第三:你从未使用过数组并且正在使用jQuery?你这样做是错误的。 你必须回到0,阅读并了解 Javascript 基础,学习如何创建图书馆等等...当你能够制作像你正在使用的那样的东西时,你'我将能够学习如何使用jQuery。