本文介绍了在IE8中,'HTMLElement'是未定义的,另一种选择?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

嘿所有我有这样的方法:

Hey all I have methods like this:

// Has Class
HTMLElement.prototype.hasClass = function (searchClass) {
    return this.className.match(new RegExp('(\\s|^)' + searchClass + '(\\s|$)'));
}

在IE9中,它运行正常。在IE8中,它给了我未定义的......有一个简单的解决方法吗?

In IE9 it works fine. In IE8 it gives me undefined... is there a simple work around?

推荐答案

你不能将方法添加到<$ c = c> HTMLElement.prototype 在旧版本的IE中,如果我没记错的话。一个简单的解决方法是:

You can't add methods to HTMLElement.prototype in older versions of IE if I remember correctly. A simple workaround would be:

var hasClass = function (el, searchClass) {
    return el.className.test(new RegExp('(\\s|^)' + searchClass + '(\\s|$)'));
};

并使用如:

alert(    hasClass(   document.getElementById('div1'), 'classToCheck'   )    )





您随时可以添加这到 Object.prototype 对象,但它不赞成

这篇关于在IE8中,'HTMLElement'是未定义的,另一种选择?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-09 22:10