Выбор свойств jquery CSS

0

Я хочу создать что-то, щелкнув изображение внутри элемента div. Он должен изменить цвет на синий, наряду с изменением цвета фона на синий. Является ли код, который я пишу правильно? Потому что он работает неправильно. Кроме того, есть ли лучший способ применить CSS к элементам?

FIDDLE

var photo = $('#photo');
var html = $('html');
var bg = $('#bg');
$(photo).on('click', function(){
  $(this).hide()
  .delay(600)
  .fadeIn(300);
  $(html, bg).css({
    background :'blue'
  });
});

HTML

<div id='bg'>
    <img id='photo' src="http://img.pixland.uz/u11878f337693s.jpg" alt="" />
</div>
Показать ещё 1 комментарий
Теги:

2 ответа

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

Вы используете фото как объект jquery, поэтому вам не нужно снова использовать $ for photo или попробовать его,

var photo = '#photo';
var html = 'html';
var bg = '#bg';
$(photo).on('click', function(){
    $(this).hide()
    .delay(600)
    .fadeIn(300);
    $(html+','+ bg).css({
    // to make multiple selectors into a single one
        background :'blue'
    });
});

Для получения дополнительной информации см. Несколько селекторов

Демо-версия

  • 0
    спасибо @Rohan Kumar это то, что мне нужно, люди не поняли меня. thank you
  • 1
    $(html+','+ bg) ? Я бы предпочел html.add(bg) или bg.add(html)
3

Как и ответ Рохана Кумара, который, конечно, полностью правильный, существует метод объединения jQuery-выборов: $.fn.add. Вы можете передать элемент HTML, массив элементов, выбор jQuery, селектор jQuery или строку HTML. В этом случае мы могли бы передать один из созданных вами объектов jQuery:

В этом случае вы можете сделать выбор с помощью html.add(bg):

var photo = $('#photo');
var html = $('html');
var bg = $('#bg');
photo.on('click', function(){
  $(this).hide()
  .delay(600)
  .fadeIn(300);
  html.add(bg).css({
    background :'blue'
  });
});

jsFiddle

Ещё вопросы

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