js通过innerHTML添加元素点击事件

 往id为aa的元素里添加一个按钮

<div id="aa"></div>
let sertNode = document.getElementById('aa')

//示范处理一下变量必须为字符串
let name = JSON.stringify('aa')
let herf = JSON.stringify('bb')
aa.innerHTML="<button onclick='toClick("+name+','+herf+")' ></button>"

window.toClick =function(name,herf){
    console.log(name,herf)
}

JavaScript中创建元素并为其添加点击事件是一个常见的操作。下面是详细的步骤: ### 创建元素 首先,你需要通过`document.createElement()`方法来创建一个新的DOM节点。 ```javascript // 创建一个 <div> 元素 let newDiv = document.createElement("div"); // 给新创建的 div 添加一些内容 newDiv.innerHTML = "Click me!"; ``` ### 设置样式或其他属性(可选) 你可以设置该元素的一些初始样式、类名等信息,这一步并非必需但是通常会这样做以满足设计需求。 ```javascript newDiv.className = 'my-class'; newDiv.style.width = '100px'; newDiv.style.height = '50px'; newDiv.style.backgroundColor = '#ddd'; ``` ### 添加到页面中 接下来将这个新的元素插入到文档流里。这里我们选择将其直接附加给 body 标签作为子元素。 ```javascript document.body.appendChild(newDiv); ``` ### 为元素绑定点击事件 最后就是重点了——为目标元素添加监听器,以便当用户单击它时触发某些动作。可以使用 `addEventListener()` 方法来进行注册。 ```javascript newDiv.addEventListener('click', function(event) { alert('You clicked the box!'); }); ``` 以上就完成了一个简单的例子,在实际应用中你可能会想要执行更复杂的任务而不是仅仅弹出一条消息框。比如更新UI界面状态或是发起网络请求等等。 #### 完整示例代码如下: ```html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Create Element Example</title> <style>.my-class { margin: auto; text-align:center;line-height:50px;font-size:24px}</style> <script type="text/javascript"> window.onload = function(){ // 创建一个 <div> 元素 let newDiv = document.createElement("div"); // 赋予其文本及外观特性 newDiv.innerHTML = "Click Me"; newDiv.className = 'my-class'; newDiv.style.width = '200px'; newDiv.style.height = '70px'; newDiv.style.backgroundColor = '#f96'; // 插入至body下成为子级项 document.body.appendChild(newDiv); // 注册点击响应处理程序 newDiv.addEventListener('click', () => { console.log('The custom element has been clicked.'); // 可在此处加入更多业务逻辑... }); }; </script> </head> <body> </body> </html> ``` 现在你应该已经了解如何利用 JavaScript 动态地生成 HTML 元素并且能够有效地管理它们的行为啦!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值