Javascript IE错误,对象不存在';不支持此属性或方法
在Internet Explorer 7.0(可能还有其他版本)中出现以下错误 对象不支持此属性或方法 关于导致此错误的原因有什么想法吗?请尝试替换:Javascript IE错误,对象不存在';不支持此属性或方法,javascript,jquery,internet-explorer,Javascript,Jquery,Internet Explorer,在Internet Explorer 7.0(可能还有其他版本)中出现以下错误 对象不支持此属性或方法 关于导致此错误的原因有什么想法吗?请尝试替换: function charCount(){ $.doTimeout('poll', 150, function(){ messageVal = $('#messageLabel textarea').val(); messageLength = messageVal.length; //IE BREAKS HERE
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);
与
希望有帮助。我认为.change()在IE中有一些问题。请删除它并查看它是否正常工作
还可以尝试使用.html()而不是.val()。请看这里。textarea不支持value属性。如果不使用
var
关键字,即浏览器在全局上下文中搜索messageLength
,则可以通过文本属性获取它,它会找到它。。。您拥有具有该ID的元素
尝试为HTML元素分配编号失败
要解决此问题,只需将messageLength
声明为局部变量:
messageVal = $('#messageLabel textarea').text();
但是,我也有一个类似的错误,这是因为我将JQuery库添加到母版页,并且在同一页的其他地方有一个重复的库声明。不,不是解决方案。谢谢。不,不是解决办法。谢谢。尝试执行typeof(messageVal)奇怪的操作,它一定能工作。您确定错误来自messageVal.length吗?“不,不是解决方案。谢谢”-尝试注释内容,直到错误不出现,这将隔离调用该语句的语句。@meder您完全正确。不过我已经编辑了这个问题。问题在第5行(.length)。
messageVal = $('#messageLabel textarea').text();
var messageLength = messageVal.length; //IE WON'T BREAK HERE