Я хочу изменить два свойства 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})
Но он вообще не работает.
Если вы хотите пойти своим путем, не забудьте указать свойство и ценность для правильного результата, как сказал @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];
Первый .css()
кажется прекрасным. Второй нужен только некоторые цитаты:
$('.xl21684').css({"background-repeat": "no-repeat"});
// ^ ^ ^ ^
Это должно сработать.
{background-repeat: no-repeat}
является синтаксической ошибкой. Попробуйте вместо этого{ "background-repeat": "no-repeat" }
или передайте две строки вcss()
вместо объекта.