javascript - JQuery,仅当目标 div 尚未具有带 id 的 div 时才克隆和追加

标签 javascript jquery html

我正在尝试克隆一个 div 并将其附加到另一个 div。但我只想在目标 div 尚未包含克隆时移动它。

function addToPortFolio(cl) {           
        var className = cl.attr('id');      
        console.log(className);

        if ($(".portfolioWrapper").has("#" + className).length > 0){ 
            console.log('exists');    
        } else {
            cl.clone().appendTo('.portfolioWrapper');
            console.log('not exist');
        }
    }

下面是控制台日志:

not exist
AAA.L
not exist
AAA.L
not exist
AAAP
not exist
AAAP
exists
AAAP
exists
AAAP
exists

它的行为非常奇怪,并且无法真正找出原因。如果我连续点击 AAA.L 类的 div,它将不起作用,但 AAAP 会?

这是一种普遍的不良做法吗?

最佳答案

这应该有效:

function addToPortFolio(cl) {
  if ($(".portfolioWrapper").find($('.' + cl.className.replace(' ','.'))).length >  0){ 
    console.log('exists');    
  } else {
    cl.clone().appendTo('.portfolioWrapper');
    console.log('just added it');
  }
}

关于javascript - JQuery,仅当目标 div 尚未具有带 id 的 div 时才克隆和追加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40208041/

相关文章:

javascript - 我应该如何解析这些数据?

html - 更改特定元素的滚动速度

javascript - 从 html 的一部分创建 png

javascript - 如何管理 cookie - 使用 JavaScript 或 HTTP Set-Cookie?

javascript - Webpack babel 转译为 es5 不太有效

jquery - 如何操作 ajax 请求的元素集

javascript - 绕过 XSRF token 检查

javascript - 使用 HTML 同时调用两个 javascript 文件

javascript - 从类中设置的点击处理程序中使用 setTimeout 调用 javascript 类函数

javascript - 刷新比。重新加载(无法调用未定义的方法 'authorize')GAPI