Я хочу выбрать все DIV на моей странице, включая его дочерний iframe.
У меня здесь два DIV, но всякий раз, когда я пытаюсь их выбирать, он только захватывает внешний.
<html>
<head></head>
<body>
<div class='xx'>blah</div>
<iframe id='x'>
<html>
<head></head>
<body>
<div class='xx'>blah2</div>
</body>
</html>
</iframe>
</body>
</html>
Есть ли у меня способ вернуть оба DIV?
var a = $('.xx');
alert(a.length); //only gives me 1 :(
Моя скрипка здесь:
Только с одним вызовом это невозможно. Iframe - это другой документ, поэтому он недоступен напрямую. Вам нужно искать во всех кадрах отдельно.
Кстати, ваш пример недействителен. IFrame - это просто ссылка на другой документ, который нельзя поместить в один и тот же html-документ. Если вы просто заботитесь о "ящике" с возможностью прокрутки внутри, просто добавьте еще один div с возможностью прокрутки. Это также позволило бы сразу получить все .xx
элементы.
Смотрите также эту скрипку.