1

同じドメインの iframe 内の特定のタグの合計数を取得する方法を知る必要があります。私は現在、iframeなしでこの作業例を使用しています:

<div id="id_of_first_div">
    <p>
    </p>
    <p>
    </p>
    <div>
        <p>
        </p>
    </div>
    <p>
    </p>
    <p>
    </p>
</div>

<script>
var top_level_div = document.getElementById('id_of_first_div');
var count = top_level_div.getElementsByTagName('p').length;
document.write(count);
</script>
4

3 に答える 3

2

iframe が含まれているウィンドウと同じドメインにあると仮定します。

ifr = // your preferred method of getting the <iframe> element, getElementById preferred
count = ifr.contentDocument.getElementsByTagName('p').length;
于 2013-02-12T19:21:43.567 に答える
0

素敵なコードを作成する簡単な方法は、iframe コンテンツを取得するためのメソッドを作成することです。これは一部のブラウザーでは異なります。

function getIframeContent(frmName)
{
  var iframe = document.getElementById(frmName);
  var innerDoc = (iframe.contentDocument) ? iframe.contentDocument :   iframe.contentWindow.document;
  return innerDoc;
}

そして、次のような要素にアクセスgetIframeContent.getElementsByTagName.... します。これがお役に立てば幸いです。

于 2013-02-12T19:25:35.810 に答える
0

同じドメインにある場合:

function getFrameCount(iframeID, elem){
   var iFrame = document.getElementById(iframeID), iFrame_p;
   if ( iFrame.contentDocument ) { // FF etc.
     iFrame_p = iFrame.contentDocument.getElementsByTagName(elem);
   } else if ( iFrame.contentWindow ) { // IE
     iFrame_p = iFrame.contentWindow.document.getElementsByTagName(elem);
   }
   return iFrame_p.lenght;
}

var number_of_p = getFrameCount('iframeID', 'p');
于 2013-02-12T19:22:00.803 に答える