【问题标题】:Remove first and last <br /> from string从字符串中删除第一个和最后一个 <br />
【发布时间】:2013-12-12 04:20:42
【问题描述】:

我有这个 html 代码:

<p id="demo">Visit <br /> stackoverflow <br /> or jsfiddle <br /></p>
<button onclick="myFunction()">Try it</button>
function myFunction()
{
    var str = document.getElementById("demo").innerHTML; 
    var res = str.replace("<br />","");
    document.getElementById("demo").innerHTML=res;
}

我想从中删除第一个和最后一个 &lt;br /&gt;,而不是全部。
这是我的 jsfiddle http://jsfiddle.net/3W83m/

【问题讨论】:

    标签: javascript html dom replace


    【解决方案1】:

    如果您确定第一个和最后一个元素子元素是br,您可以尝试这种方式:否则您可以循环测试第一个和最后一个 br 并删除它们。

    function myFunction() {
        var elem= document.getElementById("demo");
        elem.removeChild(elem.firstElementChild);
        elem.removeChild(elem.lastElementChild);
    }
    

    Demo

    如果第一个/最后一个不是 BR,为了确保它只删除第一个和最后一个 br,而不是任何其他元素,您可以添加一个简单的安全检查。

    function myFunction() {
        var elem= document.getElementById("demo"), 
            fChild = elem.firstElementChild, 
            lChild =elem.lastElementChild;
    
    if(fChild.tagName === "BR")
        elem.removeChild(fChild);
    if(lChild.tagName === "BR")
        elem.removeChild(lChild);
    
    }
    

    【讨论】:

      【解决方案2】:

      这是您提出的一般问题的解决方案:

      var arr = str.split(/<br\s*\/?>/);
      var res = arr[0]+arr.slice(1,-1).join('<br>')+arr.slice(-1);
      

      这个答案不需要第一个和最后一个孩子是&lt;br&gt;

      如果您只想在末尾删除&lt;br&gt;,那么很容易:

      var res = str.replace(/^\s*<br\s*\/?>|<br\s*\/?>\s*$/g,'');
      

      Demonstration

      【讨论】:

        【解决方案3】:

        第一个&lt;br/&gt;:

        if (myString.indexOf('<br/>') > 0) {
          myString = myString.slice(myString.indexOf('<br/>')+5, myString.length);
        }
        

        最后&lt;br/&gt;:

        if (myString.lastIndexOf('<br/>') == myString.length - 5) {
          myString = myString.slice(0, -4);
        }
        

        【讨论】:

          猜你喜欢
          • 2011-04-11
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2010-12-16
          • 2022-01-17
          • 2014-07-13
          • 2011-06-10
          相关资源
          最近更新 更多