3 回答

TA貢獻1898條經(jīng)驗 獲得超8個贊
我嘗試了user76888布置的技術(shù),并且效果很好。為了方便起見,我將其打包到j(luò)Query插件中,并認為社區(qū)可能會喜歡它,因此在這里:
jQuery.fn.cleanWhitespace = function() {
this.contents().filter(
function() { return (this.nodeType == 3 && !/\S/.test(this.nodeValue)); })
.remove();
return this;
}
要使用此功能,只需將其包含在腳本標(biāo)簽中,然后選擇一個標(biāo)簽以使用jQuery清理并按如下所示調(diào)用函數(shù):
$('#widget').cleanWhitespace();

TA貢獻1817條經(jīng)驗 獲得超14個贊
遞歸版本:
jQuery.fn.htmlClean = function() {
this.contents().filter(function() {
if (this.nodeType != 3) {
$(this).htmlClean();
return false;
}
else {
this.textContent = $.trim(this.textContent);
return !/\S/.test(this.nodeValue);
}
}).remove();
return this;
}

TA貢獻2016條經(jīng)驗 獲得超9個贊
我認為這可以做到...
cleanWhitespace: function(element) {
element = $(element);
for (var i = 0; i < element.childNodes.length; i++) {
var node = element.childNodes[i];
if (node.nodeType == 3 && !/\S/.test(node.nodeValue))
Element.remove(node);
}
}
添加回答
舉報