我希望,在点击时,移动一个div内的元素,除非它已经在里面.我在想像......
单击标记>如果元素在div中不执行任何操作>否则将元素移动到div中
http://jsfiddle.net/establish/Xhhe8/
HTML
<ul>
<li><a href="#" class="tag">Art</a></li>
<li><a href="#" class="tag">Computing</a></li>
<li><a href="#" class="tag">Design</a></li>
</ul>
<div id="crate">
</div>
Run Code Online (Sandbox Code Playgroud)
jQuery的
$('.tag').on('click', function(event) {
if ($('#crate').has(this)) {
// do nothing
}
else {
$(this).appendTo('#crate');
}
});
Run Code Online (Sandbox Code Playgroud)
它不起作用.也不确定如何表示'什么都不做',通常我只使用一个单一的IF语句,所以不需要代表它.我可以这样做"什么都不做"并禁用点击?
$(this).off();
Run Code Online (Sandbox Code Playgroud)
Gab*_*oli 11
这应该做..
$('.tag').on('click', function(event) {
var self = $(this);
if (self.closest('#crate').length) {
// do nothing
}
else {
self.appendTo('#crate');
}
});
Run Code Online (Sandbox Code Playgroud)
jfr*_*d00 11
Gaby的答案会有效,但我更喜欢在没有空if块的情况下构建它:
$('.tag').on('click', function(event) {
var self = $(this);
if (self.closest('#crate').length == 0) {
self.appendTo('#crate');
}
});
Run Code Online (Sandbox Code Playgroud)