Javascript中的选择器
我是Javascript的初学者。我有一个链接列表,我想选择以.zip结尾的链接,并从css中添加类zip 添加选择链接以not.zip结尾,并从css中添加类notzip 我用Javascript中的选择器,javascript,jquery,jquery-selectors,Javascript,Jquery,Jquery Selectors,我是Javascript的初学者。我有一个链接列表,我想选择以.zip结尾的链接,并从css中添加类zip 添加选择链接以not.zip结尾,并从css中添加类notzip 我用 $([a[href$='.zip']).addClass(“zip”)来执行第一个任务,但无法通过添加来执行任务2!或者不是()。建议使用$this和位置、过滤器功能。我该怎么做 <ul> <li><a href="a.html">a</a></
$([a[href$='.zip']).addClass(“zip”)
来执行第一个任务,但无法通过添加来执行任务2!或者不是()。建议使用$this和位置、过滤器功能。我该怎么做
<ul>
<li><a href="a.html">a</a></li>
<li><a href="b.pdf">b</a></li>
<li><a href="c.zip">c</a></li>
</ul>
您可以利用:
$(函数(){
$(“a[href$='.zip']).addClass('zip');
$(“a:not([href$='.zip']))).addClass('notzip');
$((a:not([href$='.zip']):not([href$='.html']))).addClass('notzipnorhtml');
var exts=['html','pdf','zip'];
$('a'+exts.map(ext=>':not([href$='+ext+'“])).join(“”))
.addClass('notanyof these');
});代码>
.zip{颜色:绿色;}
.notzip{颜色:红色;}
.notzipnorhtml{color:purple;}
.notanyof这些{颜色:蓝色;}
您可以利用:
$(函数(){
$(“a[href$='.zip']).addClass('zip');
$(“a:not([href$='.zip']))).addClass('notzip');
$((a:not([href$='.zip']):not([href$='.html']))).addClass('notzipnorhtml');
var exts=['html','pdf','zip'];
$('a'+exts.map(ext=>':not([href$='+ext+'“])).join(“”))
.addClass('notanyof these');
});代码>
.zip{颜色:绿色;}
.notzip{颜色:红色;}
.notzipnorhtml{color:purple;}
.notanyof这些{颜色:蓝色;}
如果我理解正确,
这应该管用
$("a[href='.zip']").addClass("zip");
$("a[href!='.zip']").addClass("notzip");
如果我理解正确,
这应该管用
$("a[href='.zip']").addClass("zip");
$("a[href!='.zip']").addClass("notzip");
谢谢它起作用了。似乎问题出现在逻辑部分,当我以前使用“not”时<代码>$(“a:not([href$='.zip']))).addClass('notzip')
包含$(“a[href$='.zip']”)的结果。addClass('zip')代码>将类“notzip”添加到没有.zip或.html后缀的href时。为什么会这样?@JiayanYang我不明白你的问题。你能展示一下你是如何在你的案例中使用:not
,看看可能出了什么问题吗?@JetoThe:not
效果很好。但是,当我$(a:not([href$='.zip | | html'))时代码>,结果包括$([a[href$='.zip'])addClass('zip')代码>。在您的示例中,绿色也变为红色。$(“a:not([href$='.zip | | html'))
不正确。你想达到什么目标?要匹配任何不以.zip或.html结尾的内容?@JetoExactly。想要查找除href以.zip或.html结尾以外的任何内容。这就是为什么我说“我以前用“not()”时,逻辑部分似乎出现了问题。”对不起,我的英语很差:)谢谢。它起作用了。似乎问题出现在逻辑部分,当我以前使用“not”时<代码>$(“a:not([href$='.zip']))).addClass('notzip')
包含$(“a[href$='.zip']”)的结果。addClass('zip')代码>将类“notzip”添加到没有.zip或.html后缀的href时。为什么会这样?@JiayanYang我不明白你的问题。你能展示一下你是如何在你的案例中使用:not
,看看可能出了什么问题吗?@JetoThe:not
效果很好。但是,当我$(a:not([href$='.zip | | html'))时代码>,结果包括$([a[href$='.zip'])addClass('zip')代码>。在您的示例中,绿色也变为红色。$(“a:not([href$='.zip | | html'))
不正确。你想达到什么目标?要匹配任何不以.zip或.html结尾的内容?@JetoExactly。想要查找除href以.zip或.html结尾以外的任何内容。这就是为什么我说“我以前使用“not()”时,逻辑部分似乎出现了问题。”对不起,我的英语很差:)@testingKikiHi谢谢你的建议。我认为href='.zip'
应该是href$='.zip'
,因为我需要为href添加类,以.zip结尾。:)@谢谢你的建议。我认为href='.zip'
应该是href$='.zip'
,因为我需要为href添加类,以.zip结尾。:)