Как узнать есть ли у данного блока класс
Здравствуйте, мне нужно узнать есть ли у блока, по которому совершаю *клик*, класс (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, время: 08:23. |