我正在寻找一个JS Regex去除HTML标签+里面的内容。到目前为止我发现的是一个简单的正则表达式来删除HTML标签,但没有div:
newdata.replace(/<[^>]*>/gi, '');
我有什么:
Color<select>
<option value="">Show All</option>
<option value="Black">Black</option><option value="Blue">Blue</option>
</select>
我需要什么:
Color
答案 0 :(得分:1)
创建虚拟元素以删除元素并仅保留文本节点
function stripElements( str )
{
var dummyDiv = document.createElement( "div" );
dummyDiv.innerHTML = str;
return Array.from( dummyDiv.childNodes ).filter( s => s.nodeType == 3 ).map( s => s.nodeValue ).join("");
}
<强>演示强>
var str = `Color<select>
<option value="">Show All</option>
<option value="Black">Black</option><option value="Blue">Blue</option>
</select>`;
function stripElements( str )
{
var dummyDiv = document.createElement( "div" );
dummyDiv.innerHTML = str;
return Array.from( dummyDiv.childNodes ).filter( s => s.nodeType == 3 ).map( s => s.nodeValue ).join("");
}
console.log( stripElements(str) );
&#13;