Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   даже не знаю как назвать топик, но во внутрь загляните (https://javascript.ru/forum/events/51544-dazhe-ne-znayu-kak-nazvat-topik-no-vo-vnutr-zaglyanite.html)

Tecvid 10.11.2014 17:30

даже не знаю как назвать топик, но во внутрь загляните
 
я тут набросал кое-что для себя, дабы быстрее работал приложение, но стоит ли в плане кроссбраузерности (в том числе и поддержка старых версий браузеров, кроме осла), или всё же лучше пользоваться jQuery?

// Selecting
function sel(selector) {
    return document.querySelector(selector);
}
    
// Attributes manipulating
function attr(selector, attribute, value) {
    var al = arguments.length;
      
    if (al == 2) {
        return sel(selector).getAttribute(attribute);
    } else if (al == 3) {
        return sel(selector).setAttribute(attribute, value);
    }
}

devote 10.11.2014 17:42

Цитата:

Сообщение от Tecvid
document.querySelector(selector)

может вернуть null если элемент не нашел... а отсюда будет ошибка в функции attr()

Tecvid 10.11.2014 17:47

Цитата:

Сообщение от devote
может вернуть null если элемент не нашел... а отсюда будет ошибка в функции attr()

благодарю, учту это, хотя я этим буду пользоваться я и не собираюсь впихнуть то что он может не найти :)
ну а как насчёт кроссбраузерности ?)

devote 10.11.2014 17:55

Цитата:

Сообщение от Tecvid
ну а как насчёт кроссбраузерности ?)

ну работать должно везде и в осле тоже, начиная с версии ИЕ8+, хотя в ИЕ8 некоторые селекторы отсутствуют. Но они редко нужны. В остальном все норм.

Tecvid 10.11.2014 18:02

Цитата:

Сообщение от devote
ну работать должно везде и в осле тоже, начиная с версии ИЕ8+, хотя в ИЕ8 некоторые селекторы отсутствуют. Но они редко нужны. В остальном все норм.

ага понятно) спасибо большое, теперь могу спокойно спать по ночам что всё везде одинаково :)

рони 10.11.2014 18:29

Tecvid,
зачем if (al == 3) ?

krutoy 10.11.2014 18:31

Tecvid,
Цитата:

Сообщение от Tecvid
function sel(selector) {
return document.querySelector(selector);
}

а так:
sel=document.querySelector

Не работает?

Tecvid 10.11.2014 18:38

Цитата:

Сообщение от рони
зачем if (al == 3) ?

то есть если аргументов 3, если не верно, то скажите как будет верно :)

Цитата:

Сообщение от krutoy
а так:
sel=document.querySelector

Не работает?

даже не пробовал) раз работает то буду так :)
это просто привычка от php, пока не совсем вник в локаничность написанию в функции, объекты и т д в js)) тьфу, сам не понял что сказал :D

krutoy 10.11.2014 18:42

Цитата:

Сообщение от Tecvid
function attr(selector, attribute, value) {
var al = arguments.length;

if (al == 2) {
return sel(selector).getAttribute(attribute);
} else if (al == 3) {
return sel(selector).setAttribute(attribute, value);
}
}

Это можно было бы сократить нмного
function attr(selector, attribute, value) {
    if (!value) return sel(selector).getAttribute(atribute)
    return sel(selector).setAttribute(attribute, value);
}

Tecvid 10.11.2014 18:44

Цитата:

Сообщение от krutoy
Это можно было бы сократить нмного

благодарю, действительно значительно сократилось


Часовой пояс GMT +3, время: 03:35.