У меня есть этот шаблон HTML на странице:не может изменить outerHTML с JavaScript
<div id="bid_wrapper_[[bid_id]]_[[template]]">
<div class="form_item_block" id="bid_wrapper_[[bid_id]]_[[template]]">
<div id="bid_delete_[[bid_id]]_[[template]]"><img src="/images/icons/cross.png"></div>
<div id="bid_label_wrapper_[[bid_id]]_[[template]]">Bid #1</div>
<div><input type="text" name="bid_summary" id="bid_summary_[[bid_id]]_[[template]]"></div>
<div><input name="bid_price" id="bid_price_[[bid_id]]_[[template]]"></div>
</div>
</div>
Я пытаюсь вырезать _ [[шаблон]] текст, а также заменить [[bid_id] ] с номером. Я попытался это:
var bid_template = document.getElementById('bid_wrapper_[[bid_id]]_[[template]]').cloneNode(true)
var new_bid_id = 2
var new_oh = bid_template.outerHTML
new_oh = new_oh.replace(/_\[\[template\]\]/g, '')
new_oh = new_oh.replace(/\[\[bid_id\]\]/g, new_bid_id)
На данный момент, если я console.log new_oh, это именно то, что я хочу - все заменяется правильно. Однако следующие строки ...
var new_bid = document.createElement('div')
new_bid.outerHTML = new_oh
Ничего не происходит здесь, когда я пытаюсь установить внешнийHTML. Он работает, если я устанавливаю innerHTML, но я бы предпочел установить внешнийHTML. Я не получаю сообщений об ошибках, и я не могу понять, почему он не устанавливает внешнийHTML.
Просто добавьте его в элемент на странице * до * используя '.outerHTML' –