我做了一个很大的形式,我需要一点模板才能让它发挥作用。 像这样
所以我想在我的HTML代码中使用 id =" sponsor_template" 创建一个HTML DIV,阅读它并将其添加到按钮中。 这是我的js-code
var sponsorBTN = document.querySelector('[name="sponsors_add"]');
if (sponsorBTN !== null) {
sponsorBTN.addEventListener('click', function () {
var s_template = document.querySelector('[id="sponsor_template"]');
sponsorBTN.insertAdjacentHTML('beforeBegin', s_template.outerHTML.replace('id="sponsor_template"', 'name="sponsor"')
.replace('display:none', ''))
})
}
除了IE之外,它适用于任何浏览器 我唯一知道的,问题可能是innerHTML / outerHTML,因为当我在IE中控制它时,我的输出是不完整的。 所以它只是在第7行HTML之后切断了。
以下是此问题的JSFiddle:https://jsfiddle.net/tdxkiller/b5m0t7xm/
答案 0 :(得分:0)
这一行是你的问题:
s_template.outerHTML.replace('id="sponsor_template"', 'name="sponsor"').replace('display:none', '')
我不确定为什么“display:none
”会出现问题;我认为“:”字符存在一些问题。但是,我将其更改为以下内容并且有效:
s_template.outerHTML.replace('id="sponsor_template"', 'name="sponsor"').replace('none', 'block')