Это не очень много и не очень хорошая вещь, чтобы получить .innerHTML
собственность от объект, а затем попытайтесь сравнить его с некоторой точной строкой. Это связано с тем, что единственным контрактом, который имеет браузер, является возврат к вам эквивалентного HTML, а не обязательно тот же HTML. Это не может быть проблемой, если в запросах нет вложенных элементов DOM, но часто может быть проблемой, если есть вложенные элементы HTML.
Например, некоторые версии IE будут изменять порядок атрибутов, изменить кавычки, изменить интервал, и т.д ...
Вместо этого, вы должны либо искать фактический DOM для того, что вы хотите, или искать только небольшая часть HTML, которую вы знаете, не может изменить или использовать алгоритм поиска, допускающий изменения в HTML.
Как Niels упоминалось в комментарии, Chrome, IE11 и Firefox возвращают "Hello <br> World"
, которые вы можете увидеть сами с простой констатации отладки, как это:
console.log("'" + x + "'");
Работа демо, чтобы увидеть для себя то, что он показывает: http://jsfiddle.net/jfriend00/zc59x2bL/
FYI, ваш код содержит ошибку. Вам необходимо передать document.getElementById()
строку, которая будет document.getElementById("test")
, а не document.getElementById(test)
.
Зачем вам это нужно в первую очередь? – frenchie