Изменить CSS с помощью Jquery

0

Я хочу изменить два свойства css, одно свойство Value, которое я хочу изменить, используя вызов функции, а другой - прямое назначение свойства. Я хочу добавить фоновое изображение во время выполнения, а свойство настройки также не повторяется. Следуя двум функциям, я узнал:

$(selector).css(property,function(index,currentvalue)) for changing value by function call and   other one is :-
$(selector).css({property:value, property:value, ...}) for assigning property.

Здесь у меня есть два свойства: Один по вызову функции, а другой - прямое свойство. Я пробовал следующий код:

$('.xl21684').css('background-image', function () {
return 'url(' + imgs[parseInt(this.innerHTML)] + ')'
})
 $('.xl21684').css({background-repeat: no-repeat}) 

Но он вообще не работает.

  • 0
    Какие сообщения об ошибках у вас есть в консоли? (второй вызов выдаст вам синтаксическую ошибку)
  • 0
    {background-repeat: no-repeat} является синтаксической ошибкой. Попробуйте вместо этого { "background-repeat": "no-repeat" } или передайте две строки в css() вместо объекта.
Показать ещё 3 комментария
Теги:

2 ответа

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

Если вы хотите пойти своим путем, не забудьте указать свойство и ценность для правильного результата, как сказал @Cerbrus:

('.xl21684').css({'background-repeat': 'no-repeat'});

Но вы тоже можете попробовать:

$('.xl21684').css('background', function () {
return 'url(' + imgs[parseInt(this.innerHTML)] + ') no-repeat';
});

В соответствии с вашим комментарием вы можете использовать фоновое сокращенное свойство, как показано ниже:

background: [background-color] [background-image] [background-repeat] [background-attachment] [background-position];
  • 0
    Спасибо, это работает.
  • 0
    Пожалуйста!
Показать ещё 3 комментария
1

Первый .css() кажется прекрасным. Второй нужен только некоторые цитаты:

$('.xl21684').css({"background-repeat": "no-repeat"});
//                 ^                 ^  ^         ^

Это должно сработать.

Ещё вопросы

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