Как узнать есть ли у данного блока класс
Здравствуйте, мне нужно узнать есть ли у блока, по которому совершаю *клик*, класс (class='house'). И если есть, то убрать у него этот класс.
Я понимаю, что это нужно сделать с помощью if. Помогите пожалуйста. |
Эмм, уточни: jQuery или Native JS (чистый)?
|
function hasClass(element, className) { var classList = element.className.split(" "); return classList.some(function (name) { return name === className; }); } |
все-равно, думаю, jQuery будет даже лучше.
|
Vladislav, я думаю, что как-то так
( function ( $ ) { $( document ).on( 'click', '.div', function() { if ( $( this ).hasClass( 'house' ) ) { $( this ).removeClass( 'house' ); } } ); } ( jQuery ) ); |
да, все работает. Спасибо!
|
Vladislav, пожалуйста)
|
не подскажешь где учился js, ибо я полный ноль. нужно с чего-то начать.
|
Vladislav, а чего ему учится то ;)
|
Да вы офигели такую ерунду на жиквери писать!)
document.addEventListener('click', function(e) { var el = e.target; if (el.classList.contains('house')) el.classList.remove('house'); }); |
Vladislav,
очешуительный учебник http://learn.javascript.ru/ я гарантирую это. d.skuratovich, Цитата:
|
Safort, я не спорю, но у тебя не кросс, classList на сколько я знаю фича HTML5, ну именно add(), contains()
|
d.skuratovich,
да, ты прав. Но можно юзать поллифилы) |
Safort, можно, но есть ли смысл? Проще тогда уже подключить тот же jQuery и пользоваться его возможностями, нежели использовать разные фичи по частям
|
d.skuratovich,
если полифилл не такой толстый как jQuery и нужна только эта фича, то почему бы и нет? Но если используется много полезностей из jQuery, то смысла в полифилле, конечно, нет. |
Часовой пояс GMT +3, время: 12:56. |