[英]How can I remove an element added by jquery?
我希望單擊時將列表項移至div,反之亦然。 但似乎只有從源加載的元素可以移動。
我怎樣才能做到這一點? 謝謝。
<div class="green">
<ul id="selectable">
<li class="content-item">Item A</li>
</ul>
</div>
<div class="red">
<span class="selected-item">Item 1</span>
<span class="selected-item">Item 1</span>
<span class="selected-item">Item 1</span>
<span class="selected-item">Item 1</span>
<span class="selected-item">Item 1</span>
<span class="selected-item">Item 1</span>
<span class="selected-item">Item 1</span>
</div>
<script>
$(".selected-item").click(function() {
var text = "<li class='content-item' >"+$(this).text()+"</li>";
$(".green #selectable").prepend( text );
$(this).remove();
});
$(".content-item").click(function() {
var text = "<span class='selected-item'>"+$(this).text()+"</span>";
$(".red").append( text );
$(this).remove();
});
</script>
請嘗試在此處使用event delegation
,因為您在運行時添加的元素在事件綁定期間將不可用,
$(document).on("click",".selected-item", function() {
var text = "<li class='content-item' >"+$(this).text()+"</li>";
$(".green #selectable").prepend( text );
$(this).remove();
});
和
$(document).on("click",".content-item", function() {
var text = "<span class='selected-item'>"+$(this).text()+"</span>";
$(".red").append( text );
$(this).remove();
});
並在我的代碼中的文檔位置使用選擇器的靜態最接近dom元素,該元素在.on()
內部傳遞
您應該使用jQuery的事件委托 。
問題是:您的jsFiddle使用的是jQuery 1.4(非常舊的版本),並且沒有.on
事件。
我已經將其更新為版本1.11,它的工作原理很像:
$(".abc").on("click", "span", function(e) {
var text = "<li class='content-item' >"+$(e.target).text()+"</li>";
$(".choices #selectable").prepend( text );
$(e.target).remove();
});
$(".choices").on("click", "li", function(e) {
var text = "<span class='selected-item'>"+$(e.target).text()+"</span>";
$(".abc").append( text );
$(e.target).remove();
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.