以下是我追加價值:使用除去作爲相反的追加不工作
$('<div>someText</div>').appendTo(self);
這裏就是我想刪除它:
$(self).remove('<div>someText</div>');
的附加工作,除去犯規。我究竟做錯了什麼?
以下是我追加價值:使用除去作爲相反的追加不工作
$('<div>someText</div>').appendTo(self);
這裏就是我想刪除它:
$(self).remove('<div>someText</div>');
的附加工作,除去犯規。我究竟做錯了什麼?
的.remove()
函數採用一個選擇器來過濾已匹配的元素,而不是它們內部的匹配元素。你需要的是這樣的:
$(self).find('div:contains(someText)').remove();
這將查找包含任何內部的文本someText
一個<div>
元素元素self
是,然後刪除它。
API http://api.jquery.com/remove/ sais需要選擇器。
嘗試
$(self).remove('> div');
這將刪除div的第一個孩子。
您可以使用$(self).filter('div:contains("someText")').remove();
刪除特定內容的div或$(self).find('> div').remove();
刪除div的第一個孩子。
編輯:刪除第一個版本,我張貼沒有測試。
這很可能與自我的範圍有關。既然你已經命名爲self,我假設你在click事件中使用$(this)得到了這個變量。如果是這種情況,並且您想要調用remove方法,則只能在同一個函數內執行此操作。否則,您需要將該元素存儲在變量中,或者提供另一個選擇器來訪問它。
Example:
<div class="div1"></div>
這將是與該點擊事件
$(document).ready(function(){
var self = null;
$('.div1').click(function(e){
self = $(this);
var itemToAdd = '<div>SomeText</div>';
$(itemToAdd).appendTo(self);
});
// to remove it
// this will remove the text immediately after it's placed
// this call needs to be wrapped in a function called on another event
$('.div1').find('div:contains(someText)').remove();
});
從文檔在div:「A選擇表達式**濾波器匹配的元素集合**被去除的」。我很確定它不在元素內部搜索,它只是過濾已經存在於jQuery對象中的元素。這也不是必需的,因爲參數是可選的(由doc中的方括號表示)。 – 2013-02-27 09:12:11