在Javascript中删除<p class =“classname”>?</p>

时间:2010-04-27 09:58:02

标签: javascript replace

如何在javascript中删除此<p>标记及其所有内容?

说我有这个HTML代码

<p class="classname">
    <input name="commit" value="Get Value" type="submit"> <span>or Cancel</span>
</p>

现在我需要在javascript中替换/删除它,有谁知道我如何删除它?

3 个答案:

答案 0 :(得分:6)

假设您不想更改标记:最简单的方法是使用库。例如用jQuery:

jQuery('.classname').remove();

否则,您需要获得对该元素的引用,然后:

el.parentNode.removeChild(el);

获取元素的引用是棘手的部分。有些浏览器会实现getElementsByClassName,但您必须自己编写或使用第三方实现。

if (!document.getElementsByClassName) {
    document.getElementsByClassName = function (className) {
        /* ... */
    }
}

如果您愿意更改标记,请为该元素指定一个id并使用document.getElementById来获取对它的引用。

答案 1 :(得分:2)

如果你必须在普通的javascript中这样做,那将是痛苦的,因为Internet Explorer不支持getElementsByClassName()(可能在较新的版本?)。

var elems = document.getElementsByTagName('p');
var elemsLenght = elems.lenght;
for (var i = 0; i < elemsLenght; ++i) {
{
  if (elems[i].className == 'classname')
  {
      elems[i].innerHTML = '';
  }
}

但是,如果可以的话,使用像jQuery,prototype,dojo等库/框架。

答案 2 :(得分:1)

试试这个:

<p id="someid">
    <input name="commit" value="Get Value" type="submit"> <span>or Cancel</span>
</p>

function removeElement(id) {
  var d = document.getElementById('myDiv');
  var olddiv = document.getElementById(id);
  d.removeChild(olddiv);
}


removeElement('someid');

如果你想使用JQuery

 $('p.classname').remove();