$ (document.body) .css не работает

0

Я пытаюсь изменить фоновое изображение моего тела HTML с помощью.js, но ничего не происходит. Должен ли я помещать Javascript-код в свой HTML-код?

function plano1() {
    alert('you');
    $(document.body).css('background-image', 'url(img/planoSelected.png)');
}

Это полная функция, которую я пытался сделать. Google Chrome показывает предупреждение, но не делает $(document.body). Что я должен сделать?

Примечания: Я использую функцию с "onmouseover". Я уже пытался использовать:

$('body').css('background-image', 'url(img/planoSelected_2.png)');

$("body").css('background-image', 'url(img/planoSelected_2.png)');
  • 1
    Вы должны пойти в инспектор и посмотреть, существует ли это изображение в этом месте. Ваш код в порядке.
  • 0
    И проверьте, загружен ли JQuery перед вызовом этой функции, в противном случае код выглядит хорошо. Либо изображение недоступно, либо JQuery не загружен.

2 ответа

1
Лучший ответ

Код jQuery следует вызывать в нижней части страницы над тегом закрывающего тела.

Сначала загрузите jQuery:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">

    $(document).ready(function() {
        $('body').css('background-image', 'url(img/planoSelected_2.png)');
    });

</script>
0

Код в порядке, но есть несколько причин, почему это может не сработать.

  1. Убедитесь, что пути изображения верны, относительно места расположения сценария
  2. plano1 ли plano1?
  3. Убедитесь, что jQuery загружен
  4. Убедитесь, что DOM готов при вызове функции (используйте $(document).ready если не уверены)
  5. Удостоверьтесь, что в коде нет ошибок до plano1

Если все в порядке, и это все еще не работает, проверьте, работает ли ваш onmouseover вообще. Просто сообщите или запишите что-нибудь в консоли.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню