如何解决IE错误,对象不支持此属性或方法
| function charCount(){
$.doTimeout(\'poll\',150,function(){
messageVal = $(\'#messageLabel textarea\').val();
messageLength = messageVal.length; //IE BREAKS HERE
$(\'#messageLength\').html(messageLength + \'/140\')
if(messageLength > 140){
$(\'#messageLength\').not(\'.inv\').addClass(\'inv\')
}else{
$(\'#messageLength.inv\').removeClass(\'inv\')
}
return false;
})
}
$(\'#messageLabel textarea\').change(charCount).keyup(charCount);
在Internet Explorer 7.0(可能还有其他版本)中给出以下错误。
对象不支持此属性或方法。
关于什么原因导致此错误的任何想法?
解决方法
当您不使用
var
关键字时,IE浏览器会在全局上下文中搜索messageLength
并找到它...您拥有具有该ID的元素。
尝试为HTML元素分配数字失败。
要解决这个问题,只需将messageLength
声明为局部变量:
var messageLength = messageVal.length; //IE WON\'T BREAK HERE
,尝试哟替换:
messageVal = $(\'#messageLabel textarea\').val();
与
messageVal = $(\'#messageLabel textarea\').text();
希望能帮助到你。
,我认为.change()在IE中有问题。请删除它,看看它是否有效。
另外,请尝试使用.html()而不是.val()。
,看这里简单测试。 textarea不支持value属性。你可以通过文本属性得到它
,我有一个类似的错误,但是,这是因为我将JQuery库添加到了母版页,并且在同一页的其他地方有一个重复的库声明。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。