我的问题是,当我使用此代码时:
var queuediv = document.getElementById('MSO_ContentTable');
var total = get_text(queuediv);
countTotal = total.split(/\s+/).length;
这是函数
function get_text(el) {
ret = "";
var length = el.childNodes.length;
for (var i = 0; i < length; i++) {
var node = el.childNodes[i];
if (node.nodeType != 8) {
ret += node.nodeType != 1 ? node.nodeValue : get_text(node);
}
}
return ret;
}
它在IE中给出了不同的值,其他浏览器给出了相同的值。我的正则表达式有问题吗?
感谢。
答案 0 :(得分:2)
您正在按空格字符(换行符,制表符...)进行拆分。这些似乎在不同浏览器的DOM表示中有所不同。我假设你试图分裂单词。尝试:
total.split(/ /).length;
或
total.replace(/\n\r\f/, '').split(/\s/).length
您也可以替换\v
和\t
。