如何将事件侦听器附加到本身已使用Javascript插入的元素?(不带jQuery)
在此处插入一些新内容(以及其他内容):如何将事件侦听器附加到本身已使用Javascript插入的元素?(不带jQuery),javascript,dom,Javascript,Dom,在此处插入一些新内容(以及其他内容): 将内容注入DOM后,您可以查询内容、附加事件、获取值等,就像其他任何DOM元素一样 考虑以下代码: var accessories = document.querySelector('.accessories'); var addedaccessories = false; if (addedaccessories === false) { // inject content into the DOM accessories.innerHTML
将内容注入DOM后,您可以查询内容、附加事件、获取值等,就像其他任何DOM元素一样 考虑以下代码:
var accessories = document.querySelector('.accessories');
var addedaccessories = false;
if (addedaccessories === false) {
// inject content into the DOM
accessories.innerHTML += '<input value="0.27" id="stand" type="checkbox"><label for="stand">Stand</label><br/><input value="0.28" id="mic" type="checkbox"><label for="mic">Mic</label>';
}
accessories.addEventListener('click', function(e) {
if (e.target.tagName === 'LABEL') {
// now that content has been injected, you can query
// for it like you normally would
var inputs = document.querySelectorAll('.accessories input[type=checkbox]');
// now grab the value out of the injected elements
inputs.forEach(function(input) {
console.log(input.value);
});
}
});
0.27
0.28
您可以找到一个JSFIDLE。在将内容注入DOM之后,您可以查询它、附加事件、获取值等,就像其他任何DOM元素一样 考虑以下代码:
var accessories = document.querySelector('.accessories');
var addedaccessories = false;
if (addedaccessories === false) {
// inject content into the DOM
accessories.innerHTML += '<input value="0.27" id="stand" type="checkbox"><label for="stand">Stand</label><br/><input value="0.28" id="mic" type="checkbox"><label for="mic">Mic</label>';
}
accessories.addEventListener('click', function(e) {
if (e.target.tagName === 'LABEL') {
// now that content has been injected, you can query
// for it like you normally would
var inputs = document.querySelectorAll('.accessories input[type=checkbox]');
// now grab the value out of the injected elements
inputs.forEach(function(input) {
console.log(input.value);
});
}
});
0.27
0.28
您可以找到一个JSFIDLE。可能重复的可能重复的感谢!我把它们全部加起来还是有点困难<代码>var accessoryTotal=0;附件.addEventListener('click',函数(e){if(e.target.type='checkbox'){var inputs=document.queryselectoral('.accessories input[type=checkbox]);for(let i=0;i