Javascript 全部更改<;p>;类为<;代码>;
使用Javascript 全部更改<;p>;类为<;代码>;,javascript,dom,getelementsbyclassname,Javascript,Dom,Getelementsbyclassname,使用文档.getElementsByID可以很好地工作,但是如何将所有带有prgrph类的p标记更改为code,从而取代而将 var b = document.querySelectorAll('p'); for (var i = 0; i < b.length; i++) { b[i].setAttribute('id', 'prgrph'); } var b=document.querySelectorAll('p'); 对于(变量i=0;i
文档.getElementsByID
可以很好地工作,但是如何将所有带有prgrph
类的p
标记更改为code
,从而取代
而将
var b = document.querySelectorAll('p');
for (var i = 0; i < b.length; i++) {
b[i].setAttribute('id', 'prgrph');
}
var b=document.querySelectorAll('p');
对于(变量i=0;i
但这是行不通的:
function changeTagName(el, newTagName) {
var n = document.createElement(newTagName);
var attr = el.attributes;
for (var i = 0, len = attr.length; i < len; ++i) {
n.setAttribute(attr[i].name, attr[i].value);
}
n.innerHTML = el.innerHTML;
el.parentNode.replaceChild(n, el);
}
changeTagName(document.getElementsByClassName('prgrph'), 'code');
函数更改标记名(el,新标记名){
var n=document.createElement(newTagName);
var attr=el.attributes;
对于(变量i=0,len=attr.length;i
我试图使用document.getElementsByClassName
,但在attr.length
上出现错误:
未捕获的TypeError:无法读取未定义的属性“length”
ID必须是唯一的,并且您可能希望逐个更改p
标记
我不知道你为什么先在p
标签上循环,然后再循环;如果第二个循环选择P
标记而不是类,那么第一个循环实际上并不需要
var b=document.querySelectorAll('p');
对于(变量i=0;i
code{
颜色:红色
}
第1段
第2段
第3段
请单击
代码段编辑器并提供一个包含相关HTMLThere's noHTMLCollection#attributes
属性的链接,因此获取其长度可能不起作用。请参阅更新的注释-根据您的需要,可能不需要第一个循环