[英]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.