[英]jquery .not() is not working with live()
我在一個頁面中添加了一些帶有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
});
觀察:
.not()
部分,選擇適用於live()
。 .not()
但用click()
替換live()
代碼可以工作。 但我需要使用live();
運行.edit
.not()
(不包括.edit
類live();
(包括帶有ajax的dom)
提前致謝!
根據.live()
文檔 :
查找要發送到
.live()
元素不支持DOM遍歷方法。 相反,應始終在選擇器之后直接調用.live()
方法,如上例所示。
因此,將類排除添加到選擇器:
jQuery('.list-item span:not(.edit) a').live('click', function(){
//do stuff
});
嘗試
$('.list-item span:not(.edit) a').live(...);
正如其他人所指出的那樣,實時不支持DOM遍歷。 live也有其他一些限制,請查看doc。
jQuery('.list-item').filter(function(){
return $(this).not("span.edit a")
})
.live('click', function(){
//do stuff
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.