我有以下设置:
$("#content-button-panel")
.on('click', 'a:not(".folder")', function (event) {
event.preventDefault();
var $link = $(this);
ServerFunctions.getContentAjax($link);
});
我想要排除任何带有“文件夹”类的链接。我怎么能做 它排除了以下以“title -...”开头的类的链接?
<a class="title-x">xx</a>
<a class="title-123243234">yyy</a>
<a class="title-sadfdsaf">zzz</a>
答案 0 :(得分:0)
您的html没有包含folder
类的主题元素,您可以使用.not()
,例如
$("#content-button-panel > a").not(".folder").on('click', function (event) {
event.preventDefault();
var $link = $(this);
alert($link);
});
OR
$("#content-button-panel").on('click', 'a:not(.folder)', function (event) {
...
演示:jsFiddle 示例html
<div id="content-button-panel">
<a href="#" class="title-x">xx</a>
<a href="#" class="title-123243234">yyy</a>
<a href="#" class="title-sadfdsaf folder">zzz</a>
</div>
答案 1 :(得分:0)
实现此目的的另一种方法是将选择器用作
$('#content-button-panel, a:not([class*="title-"], [class="folder"])')
.on('click', function (event) {
event.preventDefault();
alert($(this));
});
FIDDLE是here
答案 2 :(得分:0)
使用多个选择器,这将排除两个锚标记元素
$("#content-button-panel")
.on('click', 'a:not([class^="title-"]),a:not(".folder")', function (event) {
event.preventDefault();
var $link = $(this);
ServerFunctions.getContentAjax($link);
});