请WEB前台的大神帮忙看看,这段代码兼容有关问题
请WEB前台的大神帮忙看看,这段代码兼容问题。
以上这段代码,我在360浏览器,谷歌浏览器下测试没有问题,但是在IE8下测试,这里return document.all ? o.innerText : o.textContent;提示:运行时错误: 缺少对象。请问这个兼容性问题如何处理。
------解决方案--------------------
for (i = 0; i < lis.length; i++) {
o = document.getElementById("d" + i );
试试
------解决方案--------------------
参考: Plain Text vs innerText vs textContent
不用管document.all
------解决方案--------------------
没问题阿
function goSearch(s) {//模糊查询
var div = document.getElementById('kwu');
div.style.display = 'block';
var ul = div.childNodes.item(0);
var lis = document.getElementById("pk_ul").getElementsByTagName('li');
var o;
var ss;
for (i = -1; i < lis.length; i++) {
o = document.getElementById("d" + (i + 1));
ss = innerText(o);
if (ss.toLowerCase().indexOf(s.toLowerCase()) != -1) {
o.style.display = "block";
}
else {
o.style.display = "none";
}
}
}
//document.all 只能在IE或IE内核的浏览器有效
function innerText(o) {
return document.all ? o.innerText : o.textContent;
}
}
以上这段代码,我在360浏览器,谷歌浏览器下测试没有问题,但是在IE8下测试,这里return document.all ? o.innerText : o.textContent;提示:运行时错误: 缺少对象。请问这个兼容性问题如何处理。
------解决方案--------------------
for (i = 0; i < lis.length; i++) {
o = document.getElementById("d" + i );
试试
------解决方案--------------------
参考: Plain Text vs innerText vs textContent
不用管document.all
function innerText(node) {
return node.textContent
------解决方案--------------------
node.innerText;
}
------解决方案--------------------
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script type="text/javascript">
window.onload=function(){
function innerText(o) {
return document.all ? o.innerText : o.textContent;
}
alert(innerText(document.getElementById('test')));
}
</script>
</head>
<body>
<div id="test">123</div>
</body>
</html>
没问题阿