2013-04-22 3 views
1

Мне интересно и ничего не найдено.может getElementById быть вызвано чем-то другим, кроме документа?

Я запускаю некоторый инкапсулированный javascript, поэтому я не могу/не хочу получать доступ к document.

Таким образом, вместо:

document.getElementById("foo"); 

Я хочу назвать getElementById на моем верхнем инкапсулированные документе как:

someNode.getElementById("foo"); 

, который, кажется, не работает.

Вопрос:
Возможно ли это?

Спасибо! не

+4

Зачем вам root с определенного узла? Идентификаторы должны быть уникальными и присутствовать только один раз на странице. – Joseph

+2

'getElementById()' строго определен только на 'document'. –

+0

Потому что я внутри «якобы» изолированной среды, где документ недоступен. Я могу подойти только к определенному «родительскому уровню» – frequent

ответ

3

Нет :), если вы хотите сделать это, используйте querySelector

var nodes = div.querySelectorAll('[move_id]'); 

Но вы должны знать, что getElementById более оптимизированы!

+0

Хорошая идея. благодаря – frequent

Смежные вопросы