Javascript 将GetElementsByCassName放在getElementByID内
我的具体问题是,我需要将一个类中的所有元素放入一个div中。我的尝试是:Javascript 将GetElementsByCassName放在getElementByID内,javascript,html,Javascript,Html,我的具体问题是,我需要将一个类中的所有元素放入一个div中。我的尝试是: myElement = document.getElementsByClassName("a_random_class"); document.getElementByID("unique_ID").innerHTML = myElement.innerHTML; 但它没有起作用。现在我不知道如何才能做到这一点 可选:一般的问题是,我使用的PHP脚本没有模板引擎,这使得修改布局非常困难,必须更改多个文件。。。所以我的想法
myElement = document.getElementsByClassName("a_random_class");
document.getElementByID("unique_ID").innerHTML = myElement.innerHTML;
但它没有起作用。现在我不知道如何才能做到这一点
可选:一般的问题是,我使用的PHP脚本没有模板引擎,这使得修改布局非常困难,必须更改多个文件。。。所以我的想法是使用Javascript以我需要的方式呈现一些元素,从而能够为它们提供我需要的样式。。。这是个好主意吗?还有其他选择吗
非常感谢您的时间。
getElementsByClassName
返回一个HTMLCollection
(它以前是一个NodeList
;我们称之为列表),而不仅仅是一个元素,而且该列表没有innerHTML
属性
如果要复制类中的元素,可以在循环中使用cloneNode
:
setTimeout(函数(){
var元素=document.getElementById(“唯一的_ID”);
element.innerHTML=“”;
函数(e){
元素appendChild(e.cloneNode(true));
});
}, 300);代码>
#唯一#ID{
边框:1px纯蓝色;
}
A.
B
C
D
E
f
getElementsByClassName
返回一个HTMLCollection
(它以前是一个NodeList
;让我们称它为列表),而不仅仅是一个元素,而且该列表没有innerHTML
属性
如果要复制类中的元素,可以在循环中使用cloneNode
:
setTimeout(函数(){
var元素=document.getElementById(“唯一的_ID”);
element.innerHTML=“”;
函数(e){
元素appendChild(e.cloneNode(true));
});
}, 300);代码>
#唯一#ID{
边框:1px纯蓝色;
}
A.
B
C
D
E
f
getElementsByClassName
返回一个HTMLCollection
(它以前是一个NodeList
;让我们称它为列表),而不仅仅是一个元素,而且该列表没有innerHTML
属性
如果要复制类中的元素,可以在循环中使用cloneNode
:
setTimeout(函数(){
var元素=document.getElementById(“唯一的_ID”);
element.innerHTML=“”;
函数(e){
元素appendChild(e.cloneNode(true));
});
}, 300);代码>
#唯一#ID{
边框:1px纯蓝色;
}
A.
B
C
D
E
f
getElementsByClassName
返回一个HTMLCollection
(它以前是一个NodeList
;让我们称它为列表),而不仅仅是一个元素,而且该列表没有innerHTML
属性
如果要复制类中的元素,可以在循环中使用cloneNode
:
setTimeout(函数(){
var元素=document.getElementById(“唯一的_ID”);
element.innerHTML=“”;
函数(e){
元素appendChild(e.cloneNode(true));
});
}, 300);代码>
#唯一#ID{
边框:1px纯蓝色;
}
A.
B
C
D
E
f
非常感谢@T.J.Crowder!我非常感谢你花时间在这件事上。我可以问您(如果不是太麻烦的话)如何将新类添加到由getElementsByClassName复制的元素中?有可能吗?@Oriol:Ack!我遇到的是2011年5月28日,而不是2015年!谢谢你的最新消息。@DanielFelipe:存储cloneNode
的结果,然后执行.className+=“新类”代码>在其上(注意前导空格)添加另一个。(在现代浏览器上,您可以使用classList
,但它仍然相对较新。)很抱歉打扰您,但我想知道如何在cloneNode的结果中添加innerHTML。不仅是一个类,我们还可以说,
标记结果。。。我已经尝试了很多不同位置的innetHTML<代码>+=“”+存储的_变量+“”代码>但它不工作:/。。我这样存储它:var-example=element.appendChild(e.cloneNode(true));example.className+=“新类”
@DanielFelipe:如果您想将元素包装在b
标记中,最好的选择是var b=document.createElement('b');b、 儿童(例);元素。子元素(b)代码>非常感谢@T.J.Crowder!我非常感谢你花时间在这件事上。我可以问您(如果不是太麻烦的话)如何将新类添加到由getElementsByClassName复制的元素中?有可能吗?@Oriol:Ack!我遇到的是2011年5月28日,而不是2015年!谢谢你的最新消息。@DanielFelipe:存储cloneNode
的结果,然后执行.className+=“新类”代码>在其上(注意前导空格)添加另一个。(在现代浏览器上,您可以使用classList
,但它仍然相对较新。)很抱歉打扰您,但我想知道如何在cloneNode的结果中添加innerHTML。不仅是一个类,我们还可以说,
标记结果。。。我已经尝试了很多不同位置的innetHTML<代码>+=“”+存储的_变量+“”代码>但它不工作:/。。我这样存储它:var-example=element.appendChild(e.cloneNode(true));example.className+=“新类”
@DanielFelipe:如果您想将元素包装在b
标记中,最好的选择是var b=document.createElement('b');b、 儿童(例);元素。子元素(b)代码>非常感谢@T.J.Crowder!我非常感谢你花时间在这件事上。我可以问您(如果不是太麻烦的话)如何将新类添加到由getElementsByClassName复制的元素中?有可能吗?@Oriol:Ack!我跑的那个