То, что возвращает innerHTML, варьируется от одного браузера к другому, потому что в нем нет стандарта (содержание будет таким же, но способ отображения может отличаться). Подобная замена может привести к сбою в некоторых браузерах. Вы должны просто использовать другой подход, чтобы заменить вас.
Лучшим подходом было бы заключить текст, который вы хотите заменить, в span
, чтобы вы могли легче ориентироваться на контент, который хотите заменить.
<span id="thatFirstThing">Payment by <b>Moneybookers</b>e-wallet<br></span>
После того, как вы можете сделать
document.getElementById("thatFirstThing").innerHTML = "";
P.S .: Выполнение замены innerHTML на теле также имеет огромный побочный эффект. Так как вы заменяете содержимое своей дырочной страницы. Весь обработчик событий, привязанный к вашей странице, исчезнет.
Редактировать: Если вы не можете изменить HTML-страницу, она немного сложнее, потому что DOM плохо приспособлен для такой вещи. Что вы можете сделать, так это нацелиться на родительский элемент, перемещаясь по DOM с помощью document.getElementById
и childNodes
. И когда у вас есть родительский элемент, просто напишите новый контент, который вам нужен, без замены.
В конце концов это будет выглядеть примерно так:
document.getElementById("someSection").childNodes[0].childNodes[1].childNodes[0].innerHTML = "";