gpt4 book ai didi

javascript - jquery .not() 不适用于 live()

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:05:52 24 4
gpt4 key购买 nike

我在页面中添加了一些带有 ajax 的 dom,我试图通过 .not() 排除选择的结果,但它对我不起作用。

这是一个简单的例子:

HTML:

<div class="list-item">
<span class="item-title">Some title</span>
<span class="edit fr"><a href="Edit link">Edit</a></span>
<span class="trash fr"><a href="#trashit" rel="trash">Trash</a></span>
<span class="live fr active"><a href="#liveit" rel="publish">Live</a></span>
<span class="draft fr"><a href="#draftit" rel="draft">Draft</a></span>

</div>

jQuery:

jQuery('.list-item span a').not('.list-item span.edit a').live('click', function(){

//do stuff
});

观察:

  1. 如果我删除代码的 .not() 部分,则选择可以与 live() 一起正常工作。
  2. 如果我使用 .not() 但将 live() 替换为 click() 代码将起作用。

但我需要用 live();(包括 dom与 Ajax )

提前致谢!

最佳答案

根据 the .live() docs :

DOM traversal methods are not supported for finding elements to send to .live(). Rather, the .live() method should always be called directly after a selector, as in the example above.


因此,将类排除添加到选择器:

jQuery('.list-item span:not(.edit) a').live('click', function(){
//do stuff
});

关于javascript - jquery .not() 不适用于 live(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7127164/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com