Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как найти контейнер в iframe? (https://javascript.ru/forum/misc/83883-kak-najjti-kontejjner-v-iframe.html)

Katy93 12.04.2022 15:23

Как найти контейнер в iframe?
 
Есть два тега один iframe, второй div. Внутри контейнера с помощью jquery можно найти другой контейнер сославшись на тег и класс. Например:

<div id="wysiwyg2"><span class="marker" style="display: none; line-height: 0;"></span></div>


Если прописать вот так:
console.log($('#wysiwyg2').find("span.marker").get(0));

То через консоль выведется:
<span class="marker" style="display: none; line-height: 0;"></span>

Теперь iframe, создаю я его с помощью кода:
var iframe = '<table cellpadding="0" cellspacing="0" border="0" style="width: 500px; height:300px;border: 1px inset #CCCCCC;"><tr><td valign="top">\n'
  + '<iframe frameborder="0" id="wysiwyg1"></iframe>\n'
  + '</td></tr></table>\n';


document.getElementById("ct").insertAdjacentHTML("afterEnd", iframe);
  var doc = document.getElementById("wysiwyg1").contentWindow.document;

	
	doc.body.contentEditable = true;
  doc.designMode = "on";
  
 
  document.getElementById("wysiwyg1").contentWindow.focus();
  doc.execCommand('insertHtml', false, '<span class="marker" style="display: none; line-height: 0;"></span>');

При попытке найти объект
console.log($('#wysiwyg1').find("span.marker").get(0));

Выводит сообщение “undefined”. Как найти контейнер в iframe?

ksa 12.04.2022 16:04

Цитата:

Сообщение от Katy93
Как найти контейнер в iframe?

используйте .contents() из jQuery
$('iframe')[0].contents()

Далее как обычно...

Katy93 12.04.2022 17:16

Выдает ошибку.
Цитата:

Uncaught TypeError: $(...)[0].contents is not a function
at HTMLDocument.<anonymous> (test1.html:78)
at fire (jquery-1.9.1.js:1037)
at Object.fireWith [as resolveWith] (jquery-1.9.1.js:1148)
at Function.ready (jquery-1.9.1.js:433)
at HTMLDocument.completed (jquery-1.9.1.js:103)

ksa 12.04.2022 17:22

Katy93, ты однозначно можешь определить iframe?
По ИД или еще как-то?
$("#myifr").contents().find("#seengmenu").attr("id")

ksa 12.04.2022 17:28

Katy93, вот еще всякие варианты...
https://askdev.ru/q/poluchit-html-vn...-jquery-77816/

Katy93 12.04.2022 18:16

Спасибо за помощь, то что надо.

console.log($('iframe').contents().find("span.marker").get(0)); //результат--> <span class="marker" style="display: none; line-height: 0;"></span>


Часовой пояс GMT +3, время: 07:16.