2013-08-22 2 views
1

Я создал оповещение в Twitter Bootstrap этот путьTwitter самонастройки оповещения изменить класс

HTML:

<div id='alert' class='hide'></div> 

JS:

function showAlert(message) { 
    $('#alert').html("<div class='alert alert-error'>"+message+"</div>"); 
    $('#alert').show(); 
} 
showAlert('Please have a look at yourself.'); 
$('#alert').removeClass('alert-error'); 
$('#alert').addClass('alert-info'); 

Но последние две строки JavaScript делать не кажется, имеют какие-то эффекты, может ли кто-нибудь взглянуть на меня?

Создано jsfiddle here.

Update Я сделал некоторые изменения в моем собственном коде, чтобы сделать его проще в использовании, я предпочитаю этот путь

HTML:

<div id='alert' class='hide'></div> 

JS:

function showAlert(message, alertType) { 
    $('#alert').html("<div class='alert alert-"+alertType+"'>"+message+"</div>"); 
    $('#alert').show(); 
} 

showAlert('Please have a look at yourself.', 'success'); 

Новые jsfiddle here

ответ

1
$('#alert div').removeClass('alert-error'); 
$('#alert div').addClass('alert-info'); 

http://jsfiddle.net/Cf4gs/2/

+0

Ницца! Почему это так? – Juto

+1

@Juto, потому что вы удаляли и добавляли класс родительского div с 'id = alert', а не из div, который вы только что вставили внутри этого div! этот код получит доступ к div внутри div с 'id = alert' – rps

+0

Спасибо! Я узнал кое-что, чего не знал. – Juto

0

Последние две строки javascript работают.

Однако вы действительно хотели сделать это: JSFiddle

$('.alert-error').removeClass('alert-error').addClass('alert-info'); 
+0

Я вижу это будет делать '' remove' и add' всем '.alert-error' элементов , Я думаю, что это не очень хорошо. – Juto

0
$('#alert .alert').removeClass('alert-error').addClass('alert-info'); 
0

Где находится кнопка, чтобы показать предупреждение. Какое событие вызывает всплывающее предупреждение или всегда присутствует предупреждение? Также, если вам нужно закрыть оповещение, вам также понадобится кнопка.

Например -

Javascript, чтобы закрыть кнопку -

$('.close').click(function() { 
    $(this).parent().removeClass('in'); // hides alert with Bootstrap CSS3 
}); 
+0

Мне просто нужно показать предупреждение, когда страница загружается. Я не хочу ее закрывать. – Juto

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