あきぞらです。
jQuery
をいじっていて、iframe
タグ内の要素を取得したいときがありました。
ふだんjQuery
で要素を取得する方法とはちょっとやり方が違うので、
その方法を紹介したいと思います。
contents()を使ってiframe内の要素にアクセスする
たとえば、以下のようなiframe
を含む要素があったとします。
<iframe src="/demo/html/iframe.html" data-mec="internal-link" width="100%" height="100%"> <h1>Example</h1> <p>test</p> </iframe>
このiframe
の子要素にアクセスしたいときは以下のように取得します。
$(function(){ const test = $('iframe').contents(); });
iframe
タグをcontens()
を使って取得するところがミソです。
例えばこの中のh1
要素にアクセスするには、find
やセレクタを使ってアクセスできます。
const title = test.find('h1').text();
これでiframe
中でも要素を取得することができました!