Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 10.11.2014, 17:30
Профессор
Отправить личное сообщение для Tecvid Посмотреть профиль Найти все сообщения от Tecvid
 
Регистрация: 13.12.2013
Сообщений: 175

даже не знаю как назвать топик, но во внутрь загляните
я тут набросал кое-что для себя, дабы быстрее работал приложение, но стоит ли в плане кроссбраузерности (в том числе и поддержка старых версий браузеров, кроме осла), или всё же лучше пользоваться 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);
    }
}

Последний раз редактировалось Tecvid, 10.11.2014 в 17:32. Причина: опечатка
Ответить с цитированием
  #2 (permalink)  
Старый 10.11.2014, 17:42
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Сообщение от Tecvid
document.querySelector(selector)
может вернуть null если элемент не нашел... а отсюда будет ошибка в функции attr()
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #3 (permalink)  
Старый 10.11.2014, 17:47
Профессор
Отправить личное сообщение для Tecvid Посмотреть профиль Найти все сообщения от Tecvid
 
Регистрация: 13.12.2013
Сообщений: 175

Сообщение от devote
может вернуть null если элемент не нашел... а отсюда будет ошибка в функции attr()
благодарю, учту это, хотя я этим буду пользоваться я и не собираюсь впихнуть то что он может не найти
ну а как насчёт кроссбраузерности ?)
Ответить с цитированием
  #4 (permalink)  
Старый 10.11.2014, 17:55
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Сообщение от Tecvid
ну а как насчёт кроссбраузерности ?)
ну работать должно везде и в осле тоже, начиная с версии ИЕ8+, хотя в ИЕ8 некоторые селекторы отсутствуют. Но они редко нужны. В остальном все норм.
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #5 (permalink)  
Старый 10.11.2014, 18:02
Профессор
Отправить личное сообщение для Tecvid Посмотреть профиль Найти все сообщения от Tecvid
 
Регистрация: 13.12.2013
Сообщений: 175

Сообщение от devote
ну работать должно везде и в осле тоже, начиная с версии ИЕ8+, хотя в ИЕ8 некоторые селекторы отсутствуют. Но они редко нужны. В остальном все норм.
ага понятно) спасибо большое, теперь могу спокойно спать по ночам что всё везде одинаково
Ответить с цитированием
  #6 (permalink)  
Старый 10.11.2014, 18:29
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Tecvid,
зачем if (al == 3) ?
Ответить с цитированием
  #7 (permalink)  
Старый 10.11.2014, 18:31
Профессор
Посмотреть профиль Найти все сообщения от krutoy
 
Регистрация: 09.11.2014
Сообщений: 610

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

Не работает?
Ответить с цитированием
  #8 (permalink)  
Старый 10.11.2014, 18:38
Профессор
Отправить личное сообщение для Tecvid Посмотреть профиль Найти все сообщения от Tecvid
 
Регистрация: 13.12.2013
Сообщений: 175

Сообщение от рони
зачем if (al == 3) ?
то есть если аргументов 3, если не верно, то скажите как будет верно

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

Не работает?
даже не пробовал) раз работает то буду так
это просто привычка от php, пока не совсем вник в локаничность написанию в функции, объекты и т д в js)) тьфу, сам не понял что сказал
Ответить с цитированием
  #9 (permalink)  
Старый 10.11.2014, 18:42
Профессор
Посмотреть профиль Найти все сообщения от krutoy
 
Регистрация: 09.11.2014
Сообщений: 610

Сообщение от 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);
}
Ответить с цитированием
  #10 (permalink)  
Старый 10.11.2014, 18:44
Профессор
Отправить личное сообщение для Tecvid Посмотреть профиль Найти все сообщения от Tecvid
 
Регистрация: 13.12.2013
Сообщений: 175

Сообщение от krutoy
Это можно было бы сократить нмного
благодарю, действительно значительно сократилось
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Координаты за приделами viewport(или как это ещё назвать?) cowcow Events/DOM/Window 1 12.10.2010 17:19
Как прижать к низу?? (даже как тему назвать не знаю) sanhai (X)HTML/CSS 4 17.08.2010 11:27
Даже не знаю как назвать! BorisBritva AJAX и COMET 1 10.07.2010 10:11
даже не знаю как сформуллировать, вопрос по AJAX eugene00 AJAX и COMET 15 15.02.2010 15:07
Как вставить событие внутрь document.write Vivasvan Events/DOM/Window 8 13.06.2008 20:02