IE不支持remove()方法
前言
今天在做项目的过程中遇到remove在IE浏览器不支持,通过查看其它博文,发现IE只支持removeNode方法。因此得到解决,将其整理成博文,希望可以帮到更多人。
具体代码
$("#videoFileTable tr").get(1).remove();
IE浏览器才会出现此错误。
解决办法
定义方法判断浏览器。
/** * 判断是否是IE * @returns boolean */
function isIE() {
if (!!window.ActiveXobject || "ActiveXObject" in window) {
return true;
} else {
return false;
}
}
/** * 判断是否是IE11 * @returns boolean */
function isIE11(){
if((/Trident\/7\./).test(navigator.userAgent)) {
return true;
} else {
return false;
}
}
在业务代码判断是否是IE,根据具体代码操作。
// 判断是否是IE
if (isIE() || isIE11()) {
$("#videoFileTable tr").get(1).removeNode(true);
} else {
$("#videoFileTable tr").get(1).remove();
}
如果获取的是多个元素的话必须通过循环调用removeNode()
,比如下面示例。
// 获取除了第一个tr标签
var trObj = $("#videoFileTable tr").not(":eq(0)");
// 循环
for(var i = 0; i < trObj.length; i++) {
// console.log(trObj[i]);
trObj[i].removeNode(true);
}
参考博文:https://www.cnblogs.com/liyuchen/p/7834349.html
还没有评论,来说两句吧...