2015-02-09 9 views
0

Есть ли способ заменить 255px из приведенного ниже кода с переменной шириной?Есть ли способ добавить переменную в метод jquery css?

var width = $(".input-textbox").width(); 

    $("#txtTryContactMob").css('background', '#fff url(\"/img/erroricon.png\") 255px center no-repeat'); 

Я прочел немного об этом, и я не хочу использовать LESS css.

Заранее спасибо.

+2

'' #fff url (\ "/ img/erroricon.png \") '+ width +' px center no-repeat''? Вы пробовали конкатенацию строк? –

+0

Да, но по-другому :) похоже, что я ошибся, попробую ваше решение. – Sheil

+0

Примечание: вам не нужно было скрывать двойные кавычки внутри строки с одним кавычком –

ответ

1

Вы также можете отделить ширину от остальной части стиля CSS с помощью специально ориентируется только background-size стиля:

var width = $(".input-textbox").width(); 
$("#txtTryContactMob").css('background', '#fff url("/img/erroricon.png") 255px center no-repeat') 
     .css('background-size', width); 

Примечание:

  • не требуется px, добавленный при использовании одного свойства CSS.
  • Вам не нужно, чтобы избежать двойных кавычек внутри одной кавычками
1

вы можете использовать, как это простая конкатенацией

var customwidth = $(".input-textbox").width(); 
    $("#txtTryContactMob").css('background', '#fff url(\"/img/erroricon.png\") '+customwidth+'px center no-repeat'); 
1

Чтобы ответить на ваш вопрос, «Как добавить переменную в методе JQuery CSS?», может быть хэш-формат css выглядит более расширяемой:

$("#txtTryContactMob").css({ 
    "background": '#fff url("/img/erroricon.png") center', 
    "background-size": $(".input-textbox").width() + "px", 
    "background-repeat": "no-repeat", 
    "background-position": "center" 
    // more attribute pairs 
}); 

См http://www.w3schools.com/css/css_background.aspbackground для более подробной информации.

Смежные вопросы