Избавление от зависимости от jQuery: Какие методы jQuery легко перевести в чистый javascript? [закрыто]

Если ни один из этих ответов не работает, одной из возможных причин может быть: Если вы используете UIB-кнопку и отображаете на ней изображение, убедитесь, что у кнопки нет заголовка. Он покажет эллипс (...), потому что заголовок кнопки усекается.

25
задан serg 23 October 2010 в 17:28
поделиться

3 ответа

Одно из самых больших злоупотреблений jQuery - создание объекта jQuery исключительно с целью получения свойства элемента с использованием .attr().

Пожалуй, наиболее распространенным является получение свойства ID с помощью:

$(this).attr("id");

вместо

this.id;

Существует множество свойств, к которым можно получить доступ в кросс-браузерной манере без используя jQuery.

Или, если мне нужен доступ к родительскому элементу в обработчике, вместо:

$(this).parent()...

Я с большей вероятностью оберну родительский элемент непосредственно:

$(this.parentNode)...

Если вы можете планировать свой HTML так, чтобы между вашими элементами не было пробелов, вы можете легко использовать другие методы обхода DOM в кросс-браузерной манере, например:

this.nextSibling
this.previousSibling
this.firstChild
this.lastChild
8
ответ дан 28 November 2019 в 21:45
поделиться

(мне понравилась «победа над jQuery-зависимостью»)

Однажды я опубликовал вопрос и ответил сам, касаясь width () и height () и анимации без jQuery . Как видите, это не так просто, но в любом случае выполнимо.

2
ответ дан 28 November 2019 в 21:45
поделиться

.toggle() могут быть воссозданы относительно легко, особенно тот, в котором только 2 состояния (3+ состояния требуют немного больше работы:

$(function() {    
    $(selector).each(function() {
        var counter = 1;
        $(this).click(function() {
            counter++ % 2 ? 
                (function() { $("div").html("one"); }());  // <== First function
                (function() { $("div").html("two"); }());  // <== Second function
        });
    });
});

Попробуйте это с помощью jsFiddle


Вышеуказанное эквивалентно

$(selector).toggle(function() { ... }, function () { ... });
1
ответ дан 28 November 2019 в 21:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: