关于IE8不支持document.getElementById().innerHTML的问题

本文介绍了一个在IE8浏览器中遇到的JavaScript操作DOM元素的兼容性问题,并提供了一种使用jQuery库来解决该问题的方法。通过对比document.getElementById与jQuery的选择器,展示了如何在旧版浏览器中实现更稳定的DOM操作。
摘要由CSDN通过智能技术生成

document.getElementById("id").innerHTML = (showinfo);//IE8不支持.

可以用Jquery来解决这个问题:

$('#id').html(showinfo);

 

转载于:https://www.cnblogs.com/DreamDrive/p/5488502.html

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body> <div> <img src='images/1.jpg' height='150px' width='150px'> <img src='images/2.jpg' height='150px' width='150px'> <img src='images/3.jpg' height='150px' width='150px'> <img src='images/4.jpg' height='150px' width='150px'><br/> <button id="like-btn1">赞(<span id="like-count1">0</span>)</button> <button id="like-btn2">赞(<span id="like-count2">0</span>)</button> <button id="like-btn3">赞(<span id="like-count3">0</span>)</button> <button id="like-btn4">赞(<span id="like-count4">0</span>)</button> </div> <script type="text/javascript"> // 闭包方式实现点赞功能1 var like = (function() { var count = 0; return function() { count++; document.getElementById("like-count1").innerHTML = count; } })(); // 监听点击事件并调用闭包函数1 document.getElementById("like-btn1").addEventListener("click", like); // 闭包方式实现点赞功能2 var like = (function() { var count = 0; return function() { count++; document.getElementById("like-count2").innerHTML = count; } })(); // 监听点击事件并调用闭包函数2 document.getElementById("like-btn2").addEventListener("click", like); // 闭包方式实现点赞功能3 var like = (function() { var count = 0; return function() { count++; document.getElementById("like-count3").innerHTML = count; } })(); // 监听点击事件并调用闭包函数3 document.getElementById("like-btn3").addEventListener("click", like); // 闭包方式实现点赞功能4 var like = (function() { var count = 0; return function() { count++; document.getElementById("like-count4").innerHTML = count; } })(); // 监听点击事件并调用闭包函数2 document.getElementById("like-btn4").addEventListener("click", like); </script> </body> </html>改正代码
最新发布
06-01
这段代码本身没有错误,但是可以进行优化和简化。可以将点赞功能的闭包函数抽象出来,以便避免代码重复。同时,可以为每个点赞按钮设置一个通用的类名,以便通过类名来获取所有点赞按钮并添加点击事件监听器。修改后的代码如下: ``` <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body> <div> <img src='images/1.jpg' height='150px' width='150px'> <img src='images/2.jpg' height='150px' width='150px'> <img src='images/3.jpg' height='150px' width='150px'> <img src='images/4.jpg' height='150px' width='150px'><br/> <button class="like-btn">赞(<span class="like-count">0</span>)</button> <button class="like-btn">赞(<span class="like-count">0</span>)</button> <button class="like-btn">赞(<span class="like-count">0</span>)</button> <button class="like-btn">赞(<span class="like-count">0</span>)</button> </div> <script type="text/javascript"> // 通用点赞闭包函数 function createLikeFunction(countId) { var count = 0; return function() { count++; document.getElementById(countId).innerHTML = count; } } // 获取所有点赞按钮 var likeBtns = document.getElementsByClassName("like-btn"); // 为每个点赞按钮添加点击事件监听器 for (var i = 0; i < likeBtns.length; i++) { var countId = "like-count" + (i+1); var like = createLikeFunction(countId); likeBtns[i].addEventListener("click", like); } </script> </body> </html> ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值