繁体   English   中英

javascript删除字符

[英]javascript remove chars

我有

var content='<td> <table> <tr> <td> some_html_code </td> <td> another_html </td> </tr> </table> </td>'

如何在开头删除<td>并在结尾删除<td> </td>

尝试:

content.replace(/^<td>\s?(.+)\s?<\/td>$/, "$1")

编辑:或类似地:

content.replace(/^<td>/, "").replace(/<\/td>$/, "")

假设字符串就是您所拥有的:

newcontent = content.substr(4,content.length-5);

是最简单的方法。 如果您试图从更大的html正文(整个页面?)中删除它,则建议使用DOM操作代替。

您可以简单地slice()获得一部分字符串的副本。

  var tmp_start_td = content.slice(5);

  var tmp_end_td = tmp_start_td.slice(0,-6);

  content = tmp_end_td; // result

您可以使用XML解析器或DOM操作方法:

// Using DOM manipulation methods
var myEl = document.createElement("tr");
myEl.innerHTML = "<td>\n"+
                 "    <table>\n" +
                 "    <tr>\n" +
                 "        <td>\n" +
                 "            some_html_code\n" +
                 "        </td>\n" +
                 "        <td>\n" +
                 "            another_html\n" +
                 "        </td>\n" +
                 "    </tr>\n" +
                 "    </table>\n" +
                 "</td>";
var out = myEl.childNodes[0].innerHTML;

console.log(out);

使用上面的DOM方法的好处之一是,它们可以更宽容地验证/格式正确的错误...但是,结果是,它们可能在标记中添加了<tbody>元素。

或者,您也可以使用不太宽容的DOMParser

// using the DOMParser to parse XML
var content = "<td>\n"+
              "    <table>\n" +
              "    <tr>\n" +
              "        <td>\n" +
              "            some_html_code\n" +
              "        </td>\n" +
              "        <td>\n" +
              "            another_html\n" +
              "        </td>\n" +
              "    </tr>\n" +
              "    </table>\n" +
              "</td>";
var parser=new DOMParser();
var serializer = new XMLSerializer();
xmlDoc=parser.parseFromString(content,"text/xml");

var out = '';
var tdEl = xmlDoc.childNodes[0];
var count = tdEl.childNodes.length;
alert(count);
for(var i=0; i<count; i++) {
    out += serializer.serializeToString(tdEl.childNodes[i]);
}

console.log(out);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM