регулярное выражение дает различный вывод в FF и IE - PullRequest
2 голосов
/ 22 июня 2011

Моя проблема в том, что когда я использую этот код:

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, а другой браузер дает то же значение.Так есть ли проблема с моим регулярным выражением?

Спасибо.

1 Ответ

2 голосов
/ 22 июня 2011

Вы разделяете на пробел символов (разрывы строк, табуляции ...).Кажется, они различаются в представлении DOM в разных браузерах.Я полагаю, вы пытаетесь разделить слова.Попробуйте:

total.split(/ /).length;

или

total.replace(/\n\r\f/, '').split(/\s/).length

, вы также можете заменить \v и \t.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...