Можно ли использовать childNodes.nodeValue и innerHTML вместе? - PullRequest
0 голосов
/ 06 февраля 2012

У меня есть JS-скрипт, который бы получилElementByTagname. Затем я проверяю значение childNodes. Если я использую эту строку кода:

var appname= name[i].childNodes[x].nodeValue;

Если значением узла является Pang Shinichi ( Вдали от дома ). Возвращением сценария выше стал Пан Шиничи (). HTML-тег не читается, но считается, что он пуст. Итак, я подумал, возможно ли использовать одновременно childNodes.nodeValue и innerHTML.

Есть идеи по этому поводу?

1 Ответ

2 голосов
/ 06 февраля 2012

Это потому, что ваш текст распределен по нескольким узлам. Для быстрого решения используйте textContent и innerText на родительском узле вместо:

var t = "textContent" in document.body ? "textContent" : "innerText",
    appname = name[i][t];

Internet Explorer 8 и ниже будет использовать innerText, в то время как большинство других браузеров будут использовать textContent. Существуют небольшие различия в поведении двух, когда речь идет о пустом пространстве, но для большинства случаев использования результаты идентичны.

Рабочая демоверсия: http://jsfiddle.net/7Qsjm/

...