首页 > 解决方案 > 全部更改

具有类的元素

问题描述

标签: javascriptdomgetelementsbyclassname

解决方案


ID 必须是唯一的,您可能希望P一一更改标签

我不知道你为什么先循环P标签然后再循环;如果第二个循环选择P标签而不是类,则不需要第一个循环

var b = document.querySelectorAll('p');

for (var i = 0; i < b.length; i++) {
  b[i].classList.add('prgrph');
}

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);
}

document.querySelectorAll(".prgrph").forEach(function(p) { // not IE
  changeTagName(p, 'code');
})
code {
  color: red
}
<p data-attr="one">Paragraph 1</p>
<p data-attr="two">Paragraph 2</p>
<p>Paragraph 3</p>


推荐阅读