jquery, IE 8 Неверный аргумент - PullRequest
0 голосов
/ 09 июля 2010

Этот код отлично работает в FF, Chrome и Safari, но IE 8 выдает несколько ошибок недопустимого аргумента при запуске:

<script type="text/javascript">

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

</script> 

Вы можете увидеть его в контексте здесь Мои навыки работы с html / css более или менее безупречны, но я практически не разбираюсь в jquery / javascript.Я искал, но не могу понять, что это за ошибка и как ее исправить.Любая помощь с благодарностью.

Спасибо.

Ответы [ 3 ]

2 голосов
/ 09 июля 2010

Код "$ (this) .find ('img')" не находит изображение во всех случаях.Попробуйте:

$(window).load(function() {
  $('div .box').each(function() {
    var imageJQObject = $(this).find('img');
    if(imageJQObject.length > 0) {
      $(this).width(imageJQObject.width());
     }
  });
});
0 голосов
/ 09 июля 2010

Глядя на разметку на вашей странице, вы должны иметь

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

Обратите внимание на пропущенный пробел между div и .box.Если вы пишете их отдельно, это означает, что вы ищете все элементы с классом box, которые являются потомками div, а без пробела он находит все div с классом box

0 голосов
/ 09 июля 2010

Есть ли другая информация об исключении, например, какая это строка? У меня такое ощущение, что ширина изображения не найдена, поэтому вы устанавливаете ширину this с нулем. попробуйте заменить ширину img на что-то вроде 100 и посмотрите, будет ли он все еще выдавать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...