javascript - IE 8 以上版本的兼容性问题
问题描述
我在 IE11 上遇到兼容性问题。代码在 IE8 之前运行良好,之后就不行了。我们正在使用我们自己的框架。但我不确定它是否与框架或任何其他问题有关。我在控制台中遇到的一个这样的错误是:InvalidCharacterError。代码片段:
function makeScrollableTable(tbl,scrollFooter,height){
var c, pNode, hdr, ftr, wrapper, rect;
if (typeof tbl == 'string') tbl = document.getElementById(tbl);
pNode = tbl.parentNode;
fixTableWidth(tbl);
c = container.length;
container[c] = document.createElement('<SPAN style="height: 100; overflow: auto;">'); //>>> here only its throwing an error.
}
解决方案
您可以创建一个使用选项 CSS 样式规则构建元素的函数。
function createEl(tagName, options) {
options = options || {};
let css = options.css || {},
el = document.createElement(tagName);
for (let prop in css) el.style[prop] = css[prop];
return el;
}
container[c] = createEl('SPAN', { css : { height: 100, overflow: 'auto' } });
进阶版
function createEl(tagName, options) {
options = options || {};
let attrs = options.attrs || {},
css = options.css || {},
el = document.createElement(tagName);
for (let prop in css) el.style[prop] = css[prop];
for (let name in attrs) el.setAttribute(name, attrs[name]);
if (options.text !== undefined) el.innerHTML = options.text;
return el;
}
let spanEl = createEl('SPAN', {
attrs : {
class : 'foo'
},
css : {
height : '100px',
overflow : 'auto',
background : 'DarkGrey',
color : 'White'
},
text : 'Hello World'
});
document.body.appendChild(spanEl);
.foo { padding: 0.5em; }
推荐阅读
- javascript - 通过 javascript 按钮单击事件中的 URL 操作加载图像时如何解决此问题
- angular - CORS 错误并非总是如此
- php - 联系表格有问题,无法从提交的表格接收电子邮件
- vue.js - 如何验证列表项而不在 Vuelidate 2.0 中呈现它?
- php - open cart 版本 3.0.2.0,(如何使用 Open cart 进行调试?)
- intellij-idea - 使用 WSL 在 IntelliJ 中设置环境变量
- python - 如何联系特定标签并更改其程序之一(例如其 bg)。而不是生产一个新的,我想更新一个旧的
- imsl - 无法使用 IMSL 数值库(许可证文件的位置)
- java - Spring boot 和 React 运行 maven 命令,但在 Localhost:8080 上给了我一个 whitelabel 错误页面
- github - 可以只用 Github Desktop 创建本地仓库吗