2013-06-14 3 views
0

У меня есть следующее и в состоянии сделать предупреждение. Как изменить класс выбранной кнопки?Изменение CSS динамических кнопок

$('body').on("click", "button[name=likebtn]", function(){ 
    alert($(this).attr("value")); 

    $(this).toggleClass('btn btn-mini likebtn'); 
// OR 

    $(this).addClass('btn btn-mini likebtn').removeClass('btn btn-mini btn-primary likebtn'); 
}); 

Кнопки динамически выход:

$('#div').append("<button class='btn btn-mini btn-primary likebtn' name='likebtn' type='button' value='"+obj.value+"'>"+"LIKE"+"</button>"); 

Я попытался следующие, но не смог:

+0

Это что-то вроде функции или события или что-то еще? Можете ли вы отправить весь код вместе, как он есть? – Alvaro

+0

Внесены изменения, Стив! –

+0

sry, но я не знаю, почему вы добавите и удалите следующие классы btn btn-mini likebtn. Я считаю, что вы добавите и удалите только класс «btn-primary». $ (Это) .toggleClass ('БТН-первичный'); – franki3xe

ответ

2

Может быть, вы должны использовать removeClass() перед тем addClass()

$(this).removeClass('btn-primary').addClass('btn btn-mini likebtn'); 

Потому что вы добавите btn btn-mini likebtn по .addClass('btn btn-mini likebtn'), а затем вы r алить их по телефону .removeClass('btn btn-mini btn-primary likebtn');

EDIT: Если вы хотите удалить btn-primary класс только:

$('button[name=likebtn]').on("click", function(){ 
// ... 
$(this).removeClass('btn-primary'); 
}); 
+0

Это не работает ... Где может пойти не так? Кнопка не изменяется. –

0

если добавить кнопки на тело, вы должны работать ниже код снова

$('body').on("click", "button[name=likebtn]", function(){ 
    alert($(this).attr("value")); 

    $(this).toggleClass('btn-primary'); 

}); 
+0

Привет, вы можете объяснить свое решение? –

+0

Я не уверен, какая у вас проблема. :) Но я считаю, что вы добавите adn, удалите только класс «btn-primary», потому что все остальные классы все те же, и я не вижу причин, почему нужно добавлять классы и удалять их. – franki3xe

+0

И я не знаю, где ваша функция '$ ('body'). On (" click "," button [name = likebtn] ", function()' в вашем js-коде, если есть в документе функции, который у вас есть чтобы снова вызвать эту функцию, если она находится вне их, вам не нужно это делать – franki3xe

0

Надеюсь, вы уже добавили к своей кнопке класс «btn-primary». И вам просто нужно добавить класс 'btn btn-mini likebtn' и удалить класс 'btn-primary'. Тогда просто попробуйте ниже.

$(this).addClass('btn btn-mini likebtn').removeClass('btn-primary'); 
+0

На самом деле мне просто нужно удалить btn-primary –

+0

, но он не работает –

+0

Если вам просто нужно удалить класс 'btn-primary'. $ (это) .removeClass ('БТН-первичный'); – Mahesh

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