Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 14.03.2012, 02:32
Интересующийся
Отправить личное сообщение для Erika Посмотреть профиль Найти все сообщения от Erika
 
Регистрация: 17.02.2012
Сообщений: 11

Хотя IE по идее не должен на *TagName() ругаться. Это ведь его родная функция вродь...
Ответить с цитированием
  #12 (permalink)  
Старый 14.03.2012, 02:43
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Сообщение от Erika Посмотреть сообщение
Хотя IE по идее не должен на *TagName() ругаться. Это ведь его родная функция вродь...
Да но может просто он не находи никаких span и возвращает null а вы пытаетесь обратится к несущественному объекту
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #13 (permalink)  
Старый 14.03.2012, 04:52
Интересующийся
Отправить личное сообщение для Erika Посмотреть профиль Найти все сообщения от Erika
 
Регистрация: 17.02.2012
Сообщений: 11

Дело в том, что находит. Я же написала в первом посте, что код работает.
Просто меня смутило то, что в [1] он работает но, ругается в IE.
В то время, как при применении к элементу [2] та же функция полностью работает и не ругается не в одном арбузе.
(x)HTML дерево построено правильно, коды обоих таблиц одинаковые, количество элементов в селекторах равны.
Ответить с цитированием
  #14 (permalink)  
Старый 14.03.2012, 09:41
Профессор
Отправить личное сообщение для nikita.mmf Посмотреть профиль Найти все сообщения от nikita.mmf
 
Регистрация: 01.02.2010
Сообщений: 364

querySelectorAll в IE8, вроде бы, корректно работает только у document. Во всяком случае в jquery пользуются им только от document
Ответить с цитированием
  #15 (permalink)  
Старый 14.03.2012, 10:39
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Сообщение от nikita.mmf Посмотреть сообщение
querySelectorAll в IE8, вроде бы, корректно работает только у document. Во всяком случае в jquery пользуются им только от document
Да ты шо серьезно чтоль? может стоит все же на исходники джуквери взглянуть. Знаю только что в сафари был баг, и есть в самом методе незначительный баг, который не особо приводит к плачевным результатам.
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #16 (permalink)  
Старый 14.03.2012, 13:49
Профессор
Отправить личное сообщение для nikita.mmf Посмотреть профиль Найти все сообщения от nikita.mmf
 
Регистрация: 01.02.2010
Сообщений: 364

devote,
jquery 1.7.1
// qSA works strangely on Element-rooted queries
				// We can work around this by specifying an extra ID on the root
				// and working up from there (Thanks to Andrew Dupont for the technique)
				// IE 8 doesn't work on object elements
				} else if ( context.nodeType === 1 && context.nodeName.toLowerCase() !== "object" ) {
					var oldContext = context,
						old = context.getAttribute( "id" ),
						nid = old || id,
						hasParent = context.parentNode,
						relativeHierarchySelector = /^\s*[+~]/.test( query );

					if ( !old ) {
						context.setAttribute( "id", nid );
					} else {
						nid = nid.replace( /'/g, "\\$&" );
					}
					if ( relativeHierarchySelector && hasParent ) {
						context = context.parentNode;
					}

					try {
						if ( !relativeHierarchySelector || hasParent ) {
							return makeArray( context.querySelectorAll( "[id='" + nid + "'] " + query ), extra );
						}

					} catch(pseudoError) {
					} finally {
						if ( !old ) {
							oldContext.removeAttribute( "id" );
						}
					}
				}
Ответить с цитированием
  #17 (permalink)  
Старый 14.03.2012, 13:54
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

nikita.mmf,
И? что читать код не умеем?
context.querySelectorAll

любой контекст кроме тега object
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #18 (permalink)  
Старый 14.03.2012, 13:58
Профессор
Отправить личное сообщение для nikita.mmf Посмотреть профиль Найти все сообщения от nikita.mmf
 
Регистрация: 01.02.2010
Сообщений: 364

devote,
сорри, ошибся, мне всегда казалось, что в строке
return makeArray( context.querySelectorAll( "[id='" + nid + "'] " + query ), extra );
написано document, а не context
Ответить с цитированием
  #19 (permalink)  
Старый 14.03.2012, 14:14
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

единственный баг в querySelecor это то что делать запрос нужно от парента, если это не document. Тоесть:
<!doctype html>
<html>
    <head>
    </head>
    <body>
        <div id="mycontext">
            <span></span>
        </div>
        <script type="text/javascript">
            var div = document.getElementById( 'mycontext' );
            var elems = div.querySelectorAll( div.nodeName + " span");
            alert( [ elems[0], elems[0].nodeName ] );
        </script>
    </body>
</html>
Это такой некий своеобразный баг, который впринципе не сильно влияет на выборку.
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #20 (permalink)  
Старый 15.03.2012, 06:40
Интересующийся
Отправить личное сообщение для Erika Посмотреть профиль Найти все сообщения от Erika
 
Регистрация: 17.02.2012
Сообщений: 11

Спасибо ребят)
Я уже выяснила где зарыта сАбака)
Тема off
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Передать ссылку на объект а не объект возникновения события Blazze Events/DOM/Window 0 11.10.2011 00:45
Как с помощью document.write вывести флеш объект? elmirill Общие вопросы Javascript 4 23.04.2011 15:05
Объект не поддерживает это свойство или метод load_081112_0953.js 1auto1 Общие вопросы Javascript 1 13.04.2011 22:09
Объект не поддерживает это свойство или метод load_081112_0953.js 1auto1 Internet Explorer 1 13.04.2011 21:59
Требуется объект Urfin jQuery 0 06.04.2011 13:19