javascript - 在 javascript 中如何使用更少的代码创建多个克隆,例如 jQuery 中的 clone() 方法

标签 javascript jquery

clone() jQuery 中的方法:

var imgElement = $('<img src="img.png"/>').clone();
        $(imgElement).appendTo('#ulSelector1 li');
    $(imgElement).appendTo('#ulSelector2 li');
    $(imgElement).appendTo('#ulSelector3 li');

所以我在 javascript 中尝试了 cloneNode() 方法:

var imgElement = document.createElement("img");
    imgElement.setAttribute("src", "img.png");
    imgElement.cloneNode(true);

    var selector1 = document.querySelector("#img1 li");
        selector1.insertBefore(imgElement, selector1[0]);
    var selector2 = document.querySelector("#img2 li");
        selector2.appendChild(imgElement);
    var selector3 = document.querySelector("#img3 li");
        selector3.appendChild(imgElement);

但是 cloneNode() 方法只创建一个克隆。 所以在 javascript 中,如何使用更少的代码或不添加更多的 cloneNode 方法(如 jQuery 中的 clone() 方法)来创建多个克隆。

最佳答案

由于您要将 3 个新元素附加到您的 HTML 页面,您无论如何都需要创建 3 个新元素或克隆它们。您可以简单地指示 jQuery 每次生成一个新元素,而不是创建一个元素并克隆它:

var pattern = '<img src="img.png"/>';
$(pattern).appendTo('#ulSelector1 li');
$(pattern).appendTo('#ulSelector2 li');
$(pattern).appendTo('#ulSelector3 li');

它将创建 3 个新的 DOM 元素并将它们附加到相应的元素。

关于javascript - 在 javascript 中如何使用更少的代码创建多个克隆,例如 jQuery 中的 clone() 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33668960/

相关文章:

javascript - jQuery 模板插件 : how to create two-way binding?

javascript - 如何让nodejs在继续之前等待mongodb连接(以阻塞方式调用async)

jQuery 可以检测用户何时位于文本区域以及何时离开?

javascript - 从 HTML 表中的可编辑列获取值

javascript - 检查 data-val-required 是否存在

javascript - 重置按钮在表单提交之前有效,但在表单提交之后无效

javascript - 为什么这个 DOM DFS 算法不起作用?

javascript - 寻求使用 jQuery 的 addClass() 函数在悬停和鼠标按下时更改按钮的 CSS

javascript - 使用 Tab 键时禁用只读文本框的光标焦点

javascript - Handlebars.js 在数据标签中嵌入文字 json 对象