1

iframe 内のデータへのアクセスに関する記事をいくつか見たので、iframe にロードしているページに次のようなテーブルがあります。<table class="table">...</table>

そのiframeに表示したいのは、このテーブルだけで、ヘッダーやその他のdivなどはありません

jQuery でこれを行うにはどうすればよいですか?

アップデート:

HTML コードは次のようになります。<div>

<div id="test">
<br>
<table class="table">
<thead>
<tr>
<th> ...... // and so on

SO、そのi​​frameに表示したいのはこのdivだけです

アディルの更新:

$(window).load(function () {
        var filteredContents = $('.test').contents().find('.div_iframe').html();
        $('.test').contents().find('body').html(filteredContents);
});

HTML は次のようになります。

<iframe class="test" width="100%" height="100%" src="/message.html?msjId=268" style="height:100%;width:100%;">
<iframe class="test" width="100%" height="100%" src="/message.html?msjId=260" style="height:100%;width:100%;">

そして今表示されるべきテーブル、それらは2つの異なるテーブルである必要がありますが、現時点では両方で同じテーブルですmsjIdが、最初から複製されていmsjIdます...


DOMElement はレンダリング可能ですか?

Element がレンダリング可能かどうかを確認する方法はありますか?

たとえば、いくつかのメソッドが返されるようtrueにしたいbr a div body htmlなど

falseしかし、head style scriptなどに戻る

試しif(!el.style) return false;てみましたが、均等にhead見えstyleます.style

それはまったく可能ですか、それともレンダリング可能なタグ名のリストを作成するだけですか?

4

2 に答える 2

1

次のことを試してください。

$('iframe-id').contents().find('body').html($('.table').html());

ただし、iframe ページは、含まれているページと同じドメインから提供する必要があります。そうしないと、許可拒否エラーが発生します。

于 2012-09-22T07:28:29.547 に答える
1

ready の代わりに jquery load メソッドを使用する必要があります。as load は、iFrame html がロードされていることを確認します。一方、ready は、現在のページの html 要素の準備が整っていることを確認します。

$(window).load(function () {  
      var filteredContents = $('#iframeId').contents().find('.table').html();
      $('#iframeId').contents().find('body').html(filteredContents);
});

OPリクエストに基づいて更新します。

要素が 2 つある場合は、クラスの代わりに ID を使用できます。セレクターについてお読みください

<iframe id="frame1" width="100%" height="100%" src="/message.html?msjId=268" style="height:100%;width:100%;">
<iframe id="frame2" width="100%" height="100%" src="/message.html?msjId=260" style="height:100%;width:100%;">

 $(window).load(function () {
     var filteredContents1 = $('#frame1').contents().find('.div_iframe').html();
     $('#frame1').contents().find('body').html(filteredContents1);

     var filteredContents2 = $('#frame2').contents().find('.div_iframe').html();
     $('#frame2').contents().find('body').html(filteredContents2);

 });
于 2012-09-22T07:13:19.697 に答える