jQuery .not 选择器可以与 .delegate 一起使用吗?
我正在尝试对 id #filter
内没有类 .noAjax
的所有 元素进行 Ajax 调用> 不知何故我无法让它工作。有人可以看一下我的语法吗?
$("#filter").not($("a.noAjax")).delegate("ul#portfolio-list li a", "click", function() {
if ($.browser.msie) {
location.hash = "#/" + this.pathname;
} else {
location.hash = this.pathname;
}
return false;
});
当我尝试仅使用 a
或 a.ajax
(当然是我在尝试之前添加的)作为 .delegate
的选择器时,没有任何效果全部。使用上面的 jquery,ajax 可以工作,但即使我单击带有 a.noAjax
的链接,它也会尝试加载内容
I'm trying to make an Ajax call on all <a>
elements inside the id #filter
which don't have the class .noAjax
and somehow i can't get it to work. could someone have a look at my syntax please?
$("#filter").not($("a.noAjax")).delegate("ul#portfolio-list li a", "click", function() {
if ($.browser.msie) {
location.hash = "#/" + this.pathname;
} else {
location.hash = this.pathname;
}
return false;
});
when i try to just use a
or a.ajax
(which i of course added before trying) as the selector for .delegate
nothing works at all. with the jquery above the ajax works, but it tries to load content even when i click a link with a.noAjax
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
使用
:not()
选择器:或者你可以委托改为
ul
元素,因为它使用唯一的 ID,以提高选择器性能:Use the
:not()
selector instead:Or you could delegate to the
ul
element instead, since it's using a unique ID, for improved selector performance:这:
应该位于
a
元素上,如下所示:或者,您真正想要的是什么:
This:
Should be on the
a
elements, like this:Or, what you're really after:
尝试将第一部分更改为:
另一种方法将选择
#filter
中不是a.noAjax
的所有元素(包括非锚标记)。Try changing the first part to this:
The other way will select all elements in
#filter
that are nota.noAjax
(including non-anchor tags).