Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/470.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript IE错误,对象不存在';不支持此属性或方法_Javascript_Jquery_Internet Explorer - Fatal编程技术网

Javascript IE错误,对象不存在';不支持此属性或方法

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

在Internet Explorer 7.0(可能还有其他版本)中出现以下错误

对象不支持此属性或方法

关于导致此错误的原因有什么想法吗?

请尝试替换:

 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