Использование Ajax для извлечения данных XML. вопрос о пустых текстовых узлахтестирование, если у вас есть пустой текстовый узел в xml
Я прочитал этот вопрос/ответ здесь Javascript/XML - Getting the node name
и это помогло моему пониманию тонны о том, как устанавливаются структура вверх, однако у меня есть еще два вопроса .. когда он говорит об этом часть:
«Текст узел с возвратом каретки и некоторыми пробелами или вкладкой»
Как бы вы проверить, чтобы увидеть е вы получили пустой текстовый узел, как это? Я попытался тестирование, чтобы увидеть:
if nodeValue == null
nodeValue == "null"
nodeValue == ""
nodeValue == " "
ни один из них не представляется, работает
Я подумал, может быть длиной будет 0, так я проверил на .length и возвращается 5 (1 обратного ключ и 4 вкладки .. добавила вкладку дополнительную туда и испытанная снова вернулись 6)
Я тогда гугл, как удалить пробела и использовать эти:
.replace(/\s+/g, ' ');
.replace(/^\s+|\s+$/g, '');
ни работал и до сих пор говорит, что .LEN gth был все еще 5
Причина, по которой я хочу проверить это, потому что, если я не знаю каждого из имен узлов узла перед рукой или точно, как DOM настроен.
Или есть лучший способ навигации, не утруждая себя проверкой, является ли текстовый узел только ключом tabs/spaces/return?
'if (! NodeValue.trim(). Length)' должно быть достаточно – Xotic750
@ Xotic750: До недавнего времени не было 'trim' на' String.prototype', поэтому полагаться на него может быть проблематичным. Есть ли у IE8 это? (У меня нет тестовой машины ...) –
'if (! NodeValue.replace (/ (\ r \ n | \ n | \ r | \ s | \ t)/gm," "). Length)' – adeneo