Кажется, что метод replace () не работает, когда искомое значение представляет собой строки, объединенные с переменной.
Похоже, что эта проблема присутствует только в браузере Chrome. Я все еще буду признателен за помощь по этому вопросу.
Я пытался использовать String ().
<p id="message">
A blue ocean.<br>
A big ocean.<br>
</p>
Big: <input type="radio" name="adjective" value="big" id="big">
Blue: <input type="radio" name="adjective" value="blue" id="blue">
<script>
var message = document.getElementById('message');
var big = document.getElementById('big');
var blue = document.getElementById('blue');
big.onclick = blue.onclick = removeAdjective;
function removeAdjective() {
var adjective = this.value;
var sentence = message.innerHTML;
var toBeRemoved = "A " + adjective + " ocean.<br>";
var newSentence = sentence.replace(toBeRemoved, '');
message.innerHTML = newSentence;
}
</script>
Ожидаемый результат: искомое предложение удалено.
Фактический результат: ничего не удалено.
Я понимаю, что в моем примере есть обходные пути. Мой настоящий код более сложный, и мне действительно нужно найти решение, чтобы оно работало.