jQuery выдает ошибку, что iframe.getElementById не является функцией

1

Любая функция для таргетинга на тот же самый объект iframe не работает и возникает следующая ошибка:

Uncaught TypeError: target[0].getElementsById is not a function

Я хочу получить доступ к значению объектов iframe

function fetchmap(target) {
  console.log(target[0])
  var el = target[0].getElementsByTagName('input #pac-input');
  var e = target[0].getElementsById('pac-input')
  console.log(el);

};
<div class="col-md-12 px-4 md-form form-group" id="placefinder">
 <iframe id="iframe" src="//developers.google.com/my-business/content/tools/placeid-lookup" width="100%" height="400px" onload="fetchmap($(this))"></iframe>
</div>
Теги:
google-api

1 ответ

0
Лучший ответ

Это getElementById (единственное), а не getElementsById (множественное число). Он возвращает один элемент.

Также обратите внимание, что элементы в документе внутри iframe не являются потомками самого iframe. Вы должны использовать iframe.contentDocument.getElementById().

  • 0
    спасибо, но у меня есть эта проблема: Uncaught DOMException: заблокировал фрейм с источником " 127.0.0.1:8000 " от доступа к фрейму перекрестного происхождения. и ifram src это developers.google.com/my-business/content/tools/placeid-lookup
  • 0
    Ну, это другое дело. Скриптам запрещен доступ к структуре DOM окон и фреймов, загружаемых из разных доменов (чтобы не допустить взлома вашего браузера вредоносным кодом).

Ещё вопросы

Сообщество Overcoder
Наверх
Меню