Показать сообщение отдельно
  #7 (permalink)  
Старый 13.04.2015, 15:08
Кандидат Javascript-наук
Отправить личное сообщение для Brutus Посмотреть профиль Найти все сообщения от Brutus
 
Регистрация: 24.11.2013
Сообщений: 127

Андроид любой тянет, а вот Opera Mini нет, да она уже и не нужна
Сообщение от Tecvid
jQuery и прочие по моему так делают для вызова методов по цепочке, а в чистом js если не ошибаюсь такого нет, только свойства идут цепочкой
Вот тебе простейший пример обертки
<html>
<head>
<script>
function Dollar (elem) {
    return new ELEMENT(elem);
}

function ELEMENT(element) {
    this.element = element;
}
ELEMENT.prototype = {
    hasClass : function (className) {
        return new RegExp('(\\s|^)'+className+'(\\s|$)').test(this.element.className);
    },
    addClass : function (className) {
        if (!this.hasClass(className))
            this.element.className += (this.element.className ? ' ' : '') +className; 
        return this;
    },
    removeClass : function (className) {
        if (this.hasClass(className))
            this.element.className=this.element.className.replace(new RegExp('(\\s|^)'+className+'(\\s|$)'),' ').replace(/^\s+|\s+$/g, '');
        return this;
    },
}

</script>
</head>
<body>



<script>
Dollar(document.body).addClass('xbody');
Dollar(document.body).removeClass('xbody');
Dollar(document.body).addClass('xybody');

alert(document.body.className+' '+Dollar(document.body).hasClass('xybody'));
</script>
</body>
</html>


Здесь обертка это функция ELEMENT

Но не поддавайся соблазну

Последний раз редактировалось Brutus, 13.04.2015 в 15:14.
Ответить с цитированием