Как получить доступ к элементам HTML, загруженным в тег объекта?

Например: извлечение значения ввода текста с использованием jQuery $('#username').val();

Я пытался это из этого вопроса

Вот мой код

<div id="siteloader"></div>

$(window).load(function(){
    $("#siteloader").html('<object data="http://testk.shopnix.org/admin" />');
    setTimeout(function() {
      console.log($("#lemail_id"));
      $("#lemail_id").val("lemail_id");
      console.log($("#lemail_id").val());
    }, 10000)

})

JS скрипка здесь

1 ответ

Решение
  1. Используйте событие onload вместо тайм-аута.
  2. Для доступа к внутренней структуре объекта используйте метод content ()
  3. Это может не работать на jsfiddle. Этот сайт блокирует запросы XSS по соображениям безопасности.


HTML:

<div id="siteloader">
  <object id="object1" data="" />
</div>


JS:

$(function() {
  $("#object1").load(function() {
    $(this).contents().find("#lemail_id").val("lemail_id")
  });
  $("#object1").attr('data', 'http://testk.shopnix.org/admin');
});

JS Fiddle

Другие вопросы по тегам