EDIT:Javascript str.replace с HTML строкой
для того, чтобы быть более исчерпывающим:
Я динамическая страница порожден рендерингом внешней стороны сервера (решение ERP обработкой e- коммерция тоже, плохая история ...), которые добавляют свою часть кода, например, кнопки, форму ввода и т. д. Я не могу напрямую контролировать их, но мне нужно их стилизовать. Так что я использую функцию замены строки js, потому что я не могу использовать php, просто html/js. Но я не знаю js, я просто изучаю его, и в этом случае у меня не было вещей, работающих из-за отсутствия знаний о синтаксисе/экранировании.
function
загружен onload="function()"
в корпус.
Я только добавил <div id="replace-input">
вне частей кода, необходимого для замены (в данном случае это форма ввода для Qty предметов, подлежащих отослано в корзину)
благодаря
END EDIT
Я не могу найти рабочее решение для замены HTML-строку, как
<input name="qty" id="qty" size="6" maxlength="6" value="1" class="input">
в другой, как
<div class="product-qty">
<label for="qty">Qty:</label>
<div class="custom-qty">
<button type="button" class="reduced items" onclick="var result = document.getElementById('qty'); var qty = result.value; if (!isNaN(qty) && qty > 1)result.value--; return false;"> <i class="fa fa-minus-square-o"></i> </button>
<input type="text" name="qty" id="qty" maxlength="12" value="1" title="Qty" class="input-text qty">
<button type="button" class="increase items" onclick="var result = document.getElementById('qty'); var qty = result.value; if (!isNaN(qty)) result.value++;return false;"> <i class="fa fa-plus-square-o"></i> </button>
</div>
</div>
Я использую эту функцию
var str = document.getElementById("replace-input").innerHTML;
var res = str.replace(/HereIHaveToAddTheFirstString/g, "HereTheSecondOne");
document.getElementById("replace-input").innerHTML = res;
, но я не знаю, как писать строки для того, чтобы быть разобран правильно.
Почему бы вам не использовать методы DOM для манипулирования элементов и/или их атрибутов, вместо того, чтобы пытаться делать манипуляции со строками? Также вы не должны использовать inline js, так как вам будет сложно управлять –
Спасибо за комментарий. Я хочу изменить (заменить) элементы, которые динамически генерируются внешним механизмом рендеринга структуры, из которой создается страница. –
Ваша функция относится к '.getElementById (" replace-input ")', но я не вижу такого элемента в вашей DOM. Непонятно, что именно вы хотите заменить тем, что. – jjmontes