我正在从服务器解码html
。一旦我收到这样的话:
它的跨度只是嵌套在no.of span的
中<p><span><span><span><span>The portacabin consist of toilets, <strong></strong> <strong>\u003e\u0026#160;</strong> showers and changing cubicles, a classroom, an office and a store room. <br>The
upgrade shall include development of foot paths and installation of new
up-lights around the area complete with all the required &
necessary directional signages, as per the Standards Engineering
Specification & approval by client.</span></span></span></span></p>
我想删除span
中不需要的内容,即使它只有space
。怎么做?
我试过这个:
var p = $('p').contents().unwrap();
console.log(p);
有一个空的强元素,只有space
有强烈的元素 - 如何清除它?
它展开了一步,就是这样。 有人帮我吗?
答案 0 :(得分:1)
您可以使用.nodeType
属性测试文本级节点,然后将它们与空白正则表达式/\s*/
进行匹配:
if (this.nodeType === Node.TEXT_NODE) {
this.innerText.match(/\s*/) && $(this).unwrap();
}
您可以将其置于包含.each()
函数的循环中,以展平span
- s的每个级别,并在所有span
上进行迭代。这是一个显示基本版本的小提琴:http://jsfiddle.net/LwmoLp3o/2/