根据类名

时间:2018-04-12 13:34:56

标签: javascript string

我想使用仅限javascript

替换开始和结束标记
<span> Hello john</span><div class="replace-class"> John likes to play guitar</div><div>Anna likes to arrange flowers</div>

在上面的示例div标签中,带有class =&#34; replace-class&#34;应该用标签

替换。如下

<span> Hello john</span><p> John likes to play guitar</p><div>Anna likes to arrange flowers</div>

提前谢谢

1 个答案:

答案 0 :(得分:2)

您需要做的是:

  1. 选择包含课程outerHTML
  2. 的元素的replace-class
  3. 然后,如果您的浏览器支持outerHTML,则可以轻松替换该元素(如if块中所示)
  4. 但是如果您的浏览器不支持outerHTML,那么您还需要选择父元素,以便您可以将其作为基础并将该元素替换为replace-class类。
  5. var Obj = document.querySelector('.replace-class'); 
    var str = '<p>' + Obj.innerHTML + '</p>';
    if(Obj.outerHTML) { 
        Obj.outerHTML=str;
    }
    else { 
      var tmpObj=document.createElement("p");
      tmpObj.innerHTML= Obj.innerHTML;
      ObjParent=Obj.parentNode;
      ObjParent.replaceChild(tmpObj,Obj);
    }
    <span> Hello john</span><div class="replace-class"> John likes to play guitar</div><div>Anna likes to arrange flowers</div>

    要进一步验证代码段,您可以使用浏览器的inspect element并检查该元素。 div应该已被替换为。{1}}     p