2

そのページの iframe 内の html 要素のクラスを切り替えたいサイトを開発しています。私は現在これをやっています

if ($('html').hasClass('flexbox')) {
  $('#flexbox').click(function () {
    $("html").toggleClass('flexbox').toggleClass('no-flexbox');
  });
}

これはドキュメント HTML で機能しますが、iframe id="myiframe" をターゲットにする必要があります (たとえば)

if ($('#myiframe html').hasClass('flexbox')) {
  $('#flexbox').click(function () {
    $("#myiframe html").toggleClass('flexbox').toggleClass('no-flexbox');
  });
}

動作しません。contentWindow などを使用したアイデアを歓迎します。

更新: iframe のドメインは異なります。

4

1 に答える 1

1

使用してcontents()ください。これを試して

 if ($("#myiframe").contents().find("html").hasClass('flexbox')) {
   .....

注: iframe が同じドメインにあることを確認してください。

それが異なるドメインにある場合、それは可能ではありません..同じオリジンポリシーにより、そうするように再設定されます...

于 2013-05-20T12:22:59.527 に答える