jquery - 检查 DIV 中是否存在元素

标签 jquery

我想在单击时移动 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>

jQuery

$('.tag').on('click', function(event) {

if ($('#crate').has(this)) {
    // do nothing
}

else {

    $(this).appendTo('#crate');
}
});

这不起作用。也不知道如何表示“不执行任何操作”,通常我只使用单个 IF 语句,因此不需要表示它。我可以这样做以“不执行任何操作”并禁用点击吗?

$(this).off(); 

最佳答案

这应该可以做到..

$('.tag').on('click', function(event) {

    var self = $(this);
    if (self.closest('#crate').length) {
        // do nothing
    }
    else {
        self.appendTo('#crate');
    }

});

关于jquery - 检查 DIV 中是否存在元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8272257/

相关文章:

jQuery - 删除先前添加的类实例

jquery - 为什么 Firefox 返回 0 作为 $(window).height() 的值

jQuery 设置 html() 值

jQuery Mobile Taphold

javascript - 在 HTML Canvas 中包含文本

javascript - 动态调用Javascript变量

javascript - 达到固定宽度后防止在表格单元格上输入?

jquery - 如何使用 jQuery 在时间后更改文本?

javascript - 使用 JavaScript 这些代码块中哪一个最适合实际使用?

jquery - angulajrjs 弹出时间选择器不在输入行内