Как получить элемент по идентификатору на странице, содержащей iframes, frame, frameset? - PullRequest
2 голосов
/ 15 августа 2011

У меня есть страница, которая содержит много дочерних элементов, таких как iframe, frameset, frame и т. Д.

Мне нужна функция типа document.getElementById(targetId), которая возвращает элемент, но также выполняет поиск вдокументы всех фреймов.

Я бы предпочел решение, которое не требует каких-либо расширений, таких как jQuery.

1 Ответ

3 голосов
/ 15 августа 2011

Вы можете выполнить

my_iframe_reference.contentDocument.getElementById(targetId)

для поиска по идентификатору в одном кадре.

Если вы хотите выполнить поиск по всем кадрам, вы можете выполнить итерацию по массиву window.frames.

for(var i=0; i<window.frames.length; i++){
    var node = window.frames[i].contentDocument.getElementById('id');
    if(node) return node;
}
...