Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/377.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何通过使用Javascript和Dom克隆一个元素并在许多地方使用它_Javascript_Dom - Fatal编程技术网

如何通过使用Javascript和Dom克隆一个元素并在许多地方使用它

如何通过使用Javascript和Dom克隆一个元素并在许多地方使用它,javascript,dom,Javascript,Dom,我已经创建了一个链接节点。我希望能够克隆它,并在不同的地方多次使用副本。我可以这样做吗? 以下是我的javascript代码: var lank = document.createElement("a"); //Skapa en länk som heter lank lank.setAttribute("class" , "visa"); lank.setAttribute("href" , "#"); var lankTN = document.createTextNode("Läs

我已经创建了一个链接节点。我希望能够克隆它,并在不同的地方多次使用副本。我可以这样做吗? 以下是我的javascript代码:

    var lank = document.createElement("a"); //Skapa en länk som heter lank
lank.setAttribute("class" , "visa");
lank.setAttribute("href" , "#");
var lankTN = document.createTextNode("Läs mer"); // Skapa en textnod som heter lankTN
lank.appendChild(lankTN); //Sätt in lankTN i lank

//Gömma texterna då sidan laddas och placera in länkar med texten Läs mer
window.onload = function uppstart(){
var texterna = document.getElementsByClassName("show");
for (var i = 0; i<texterna.length; i++){
texterna[i].style.visibility = "hidden";
document.getElementsByClassName("post")[i].appendChild(lank);
    }

}
var lank=document.createElement(“a”)//这是一个很好的例子
lank.setAttribute(“类别”、“签证”);
lank.setAttribute(“href”、“#”);
var lankTN=document.createTextNode(“Läs mer”);//这是一个非常简单的例子
lank.appendChild(lankTN)//兰克特尼兰克的塞特
//格玛·德西丹·拉达斯·奥赫·普莱塞拉在洛杉矶医学院
window.onload=函数uppstart(){
var texterna=document.getElementsByClassName(“show”);
对于(var i=0;iYes),您可以使用克隆节点。因此,如果
lank
是您要克隆的节点:

var clone = lank.cloneNode(true);
该标志用于指示是否克隆其子项。通常,您希望

我猜你想在这一行这样做:

document.getElementsByClassName("post")[i].appendChild(lank);
…看起来是这样的:

document.getElementsByClassName("post")[i].appendChild(lank.cloneNode(true));

旁注:您不必使用
setAttribute
来设置类和href,您可以使用反射属性:

lank.className = "visa";
lank.href = "#";

下面是一些可能感兴趣的内容,现在还包括一些DOM内容。

您也不需要创建文本节点。您只需使用
lank.innerHTML='text'
@Amberlamps:使用文本节点可以防止文本被视为HTML。当然,使用
的“Läs mer”
,没关系,里面没有HTML实体或标记。。。