Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #41 (permalink)  
Старый 10.02.2010, 17:33
Аватар для PeaceCoder
Профессор
Отправить личное сообщение для PeaceCoder Посмотреть профиль Найти все сообщения от PeaceCoder
 
Регистрация: 15.12.2009
Сообщений: 742

Сообщение от Cr@ZyBoY
попридержите коней. Откуда у вас в html-коде взялось 2 элемента с одним id? Это прямое нарушение стандарта.
Прямое не прямое, querySelectorAll выдает то, что я написал.
Да и читал на webo.in, что строить стили на #id выгоднее + как вы не крутите а стили распространяются на все одинаковые #id а не на только первый попавшийся... Да и по вашим словам такой запрос вообще бессмыслен, а такое есть на самом деле.
Сообщение от Cr@ZyBoY
По поводу селектора "* SPAN I + SPAN DIV B + *"
Это я привел в пример, что бы было над чем подумать, если селектор будет содержать с одной или с другой стороны запрос вида "[atribute=abrakadabra]", то движок просто рухнет, если нет поддержки querySelectorAll, да и тест на то как работает "+" в чистом движке. Как видно в jQ неправильно.
__________________
Настоящий программист думает и осознает сам решение задачи, а не копирует другие мысли, не осознавая их (c)
Относись к человеку так же, как хотелось бы отношения к себе (с)
Все нужно там, где оно нужно, а все не нужно нигде (с) Gozar
B~Vladi: А кто такой JavaScript стрелок?! micscr: это тот, кто не jQuery танкист.
Программы становятся медленнее быстрее, чем компьютеры становятся быстрее (с) Никлаус Вирт

Последний раз редактировалось PeaceCoder, 10.02.2010 в 17:44.
Ответить с цитированием
  #42 (permalink)  
Старый 10.02.2010, 17:54
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от PeaceCoder
строить стили на #id выгоднее
Чем? Кроме того, что поддерживать такую вёрстку труднее.
Ответить с цитированием
  #43 (permalink)  
Старый 10.02.2010, 17:57
Профессор
Отправить личное сообщение для tenshi Посмотреть профиль Найти все сообщения от tenshi
 
Регистрация: 20.03.2008
Сообщений: 1,183

ой, кто заговорил о поддержке вёрстки х)) ты уж определись, либо мы постраиваемся под любую вёрстку, либо делаем вёртку, с которой удобно работать, но тогда сложные селекторы нафиг не сдались
__________________
.ня
Ответить с цитированием
  #44 (permalink)  
Старый 10.02.2010, 17:58
Аватар для Cr@ZyBoY
Аспирант
Отправить личное сообщение для Cr@ZyBoY Посмотреть профиль Найти все сообщения от Cr@ZyBoY
 
Регистрация: 08.02.2010
Сообщений: 52

PeaceCoder,
ну я же тоже не придумываю. http://www.w3.org/TR/2009/PR-css3-se.../#id-selectors
Цитата:
What makes attributes of type ID special is that no two such attributes can have the same value in a conformant document, regardless of the type of the elements that carry them; whatever the document language, an ID typed attribute can be used to uniquely identify its element.
Ответить с цитированием
  #45 (permalink)  
Старый 10.02.2010, 18:13
Аватар для PeaceCoder
Профессор
Отправить личное сообщение для PeaceCoder Посмотреть профиль Найти все сообщения от PeaceCoder
 
Регистрация: 15.12.2009
Сообщений: 742

Проще говоря, querySelectorAll работает неправильно во всех браузерах? Сами подумайте или разработчики браузеров (таже мозилла, которая соблюдает стандарты) лоханулись, либо вы пургу несете.
Сообщение от Cr@ZyBoY
ну я же тоже не придумываю.
И я не придумываю. Ниже на пример посмотри
Цитата:
The following ID selector represents any element whose ID-typed attribute has the value "chapter1":

#chapter1

The following selector represents any element whose ID-typed attribute has the value "z98y".

*#z98y
__________________
Настоящий программист думает и осознает сам решение задачи, а не копирует другие мысли, не осознавая их (c)
Относись к человеку так же, как хотелось бы отношения к себе (с)
Все нужно там, где оно нужно, а все не нужно нигде (с) Gozar
B~Vladi: А кто такой JavaScript стрелок?! micscr: это тот, кто не jQuery танкист.
Программы становятся медленнее быстрее, чем компьютеры становятся быстрее (с) Никлаус Вирт
Ответить с цитированием
  #46 (permalink)  
Старый 10.02.2010, 18:37
Аватар для Cr@ZyBoY
Аспирант
Отправить личное сообщение для Cr@ZyBoY Посмотреть профиль Найти все сообщения от Cr@ZyBoY
 
Регистрация: 08.02.2010
Сообщений: 52

Цитата:
no two such attributes can have the same value (2подобных атрибута не могут иметь одинаковое значение)
и
Цитата:
represents any element whose ID-typed attribute has the value (представляет любой элемент, id которого равен...)
не взаимозаменяемы. То что вы написали - правда, но из этого не следует, что в документе могут существовать 2 элемента с одним id. Id для того и придумали, чтобы у элемента был уникальный опознавательный знак.
Я бы не стал доверять querySelectorAll как образцу правильных выборок - http://ejohn.org/blog/thoughts-on-queryselectorall/. Не удивлюсь, если и с #id они тоже накосячили.
Ответить с цитированием
  #47 (permalink)  
Старый 10.02.2010, 18:58
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

Сообщение от PeaceCoder
Сами подумайте или разработчики браузеров (таже мозилла, которая соблюдает стандарты) лоханулись, либо вы пургу несете.
либо разработчики браузеров решили дать возможность получить все элементы с заданным id, либо пургу несешь ты

Cr@ZyBoY,
Сообщение от tenshi
либо мы постраиваемся под любую вёрстку, либо делаем вёртку, с которой удобно работать, но тогда сложные селекторы нафиг не сдались
Ответить с цитированием
  #48 (permalink)  
Старый 10.02.2010, 18:58
Аватар для PeaceCoder
Профессор
Отправить личное сообщение для PeaceCoder Посмотреть профиль Найти все сообщения от PeaceCoder
 
Регистрация: 15.12.2009
Сообщений: 742

Сообщение от Cr@ZyBoY
То что вы написали - правда, но из этого не следует, что в документе могут существовать 2 элемента с одним id.
Получается опять же все браузеры работают неправильно и отображают стили тоже не правильно? Не раз встречал сайты построенные на id'шниках, например #window и т.п. и что же получается стили применять надо только к первому в дереве элементу с этим id ? Нет. Как было описано выше стили применяются ко всем элементам с таким id ==> querySelectorAll работает тоже правильно и выводит все элементы с таким id. Еще читал, что qerySelectorAll это и есть движок того как браузер при прорисовке элемента получает для него все стили.
То что вы имеете ввиду, то это запрос вида "#id" и ничего больше. Вот он должен выводить только 1 элемент с первым попавшимся id в дереве. А если надо все элементы в таком же написании, то "*#id", но если фильтров в селекторе больше 1го, то уже явно должен быть список подходящих.
Сообщение от Cr@ZyBoY
Я бы не стал доверять querySelectorAll как образцу правильных выборок
Че вы вообще прицепились к Джону? У него селекторы немного багнуты, о чем я писал выше, о какой правильности может идти речь?

П.С. спорить на эту тему больше не буду. Каждый остается при своем мнении.
П.П.С В настоящем понимании id как таковой уже не имеет смысла, он аналогичен .class. Его давно ввели что бы можно было манипулировать элементами, сейчас же элементами можно манипулировать на прямую без id.
__________________
Настоящий программист думает и осознает сам решение задачи, а не копирует другие мысли, не осознавая их (c)
Относись к человеку так же, как хотелось бы отношения к себе (с)
Все нужно там, где оно нужно, а все не нужно нигде (с) Gozar
B~Vladi: А кто такой JavaScript стрелок?! micscr: это тот, кто не jQuery танкист.
Программы становятся медленнее быстрее, чем компьютеры становятся быстрее (с) Никлаус Вирт
Ответить с цитированием
  #49 (permalink)  
Старый 10.02.2010, 19:16
Аватар для Cr@ZyBoY
Аспирант
Отправить личное сообщение для Cr@ZyBoY Посмотреть профиль Найти все сообщения от Cr@ZyBoY
 
Регистрация: 08.02.2010
Сообщений: 52

Я тоже не хочу спорить насчёт этого - я делал свой движок по стандарту, чётко описанному на сайте w3. Если
querySelectorAll возвращает несколько элементов с одним id, что ж, пусть возвращает, меня это мало волнует.

x-yuri,
я не собираюсь ни под кого подстраиваться - я предпочитаю работать как минимум с валидной вёрсткой.

Последний раз редактировалось Cr@ZyBoY, 10.02.2010 в 19:19.
Ответить с цитированием
  #50 (permalink)  
Старый 10.02.2010, 19:33
Аватар для PeaceCoder
Профессор
Отправить личное сообщение для PeaceCoder Посмотреть профиль Найти все сообщения от PeaceCoder
 
Регистрация: 15.12.2009
Сообщений: 742

Сообщение от Cr@ZyBoY
Я тоже не хочу спорить насчёт этого - я делал свой движок по стандарту, чётко описанному на сайте w3.Если querySelectorAll возвращает несколько элементов с одним id, что ж, пусть возвращает, меня это мало волнует.
А вот тут вы противоречите себе. на запрос "#id3" Ваш движк выдает как раз таки 2 элемента, т.к. Вы не проверяете "простые" выборки, а используете querySelectorAll, который и выдает все элементы
__________________
Настоящий программист думает и осознает сам решение задачи, а не копирует другие мысли, не осознавая их (c)
Относись к человеку так же, как хотелось бы отношения к себе (с)
Все нужно там, где оно нужно, а все не нужно нигде (с) Gozar
B~Vladi: А кто такой JavaScript стрелок?! micscr: это тот, кто не jQuery танкист.
Программы становятся медленнее быстрее, чем компьютеры становятся быстрее (с) Никлаус Вирт
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите с javascript andruhin Общие вопросы Javascript 12 04.05.2012 10:05
JavaScript на Яндекс.Фотки - почему тормозит браузеры? ZavFirefox Javascript под браузер 23 27.09.2009 19:24
js-core JavaScript framework Octane Ваши сайты и скрипты 32 25.06.2009 10:17
Программист на JavaScript (удалённо) Vadym Работа 1 28.01.2009 13:57
Нужен Старший разработчик JavaScript Yandex Работа 17 19.08.2008 16:43