jquery,IE 8无效的参数错误

时间:2010-07-08 20:40:13

标签: jquery internet-explorer-8 arguments

此代码适用于FF,Chrome和& Safari,但IE 8在运行时会抛出几个无效的参数错误:

<script type="text/javascript">

    $(window).load(function() {
        $('div .box').each(function() {
            $(this).width($(this).find('img').width());
        });
    });

</script> 

You can see it in context here: 我的html / css技能或多或少一尘不染但我对jquery / javascript几乎一无所知。我已经搜索但无法处理错误是什么以及如何解决它。非常感谢任何帮助。

感谢。

3 个答案:

答案 0 :(得分:2)

代码“$(this).find('img')”在所有情况下都找不到图像。尝试:

$(window).load(function() {
  $('div .box').each(function() {
    var imageJQObject = $(this).find('img');
    if(imageJQObject.length > 0) {
      $(this).width(imageJQObject.width());
     }
  });
});

答案 1 :(得分:0)

是否有关于异常的任何其他信息,例如它是哪一行?我感觉没有找到图像的宽度,因此您将this的宽度设置为null。尝试用100这样的东西替换img宽度,看它是否还会抛出。

答案 2 :(得分:0)

查看页面上的标记,您应该

$(window).load(function() {  
    $('div.box').each(function() {  
        $(this).width($(this).find('img').width());  
    });  
});

请注意div.box之间缺少的空格。如果您单独编写它们,则意味着您正在查找类box的所有元素,这些元素是div的子元素,而没有空格时它会找到具有类{{1}的所有div }}