2011-07-19 4 views
2

JavaScriptとjQueryの両方で直感的な方法を試しました。id要素のないすべてのページiFrameを返す

document.GetElementsByTagName('iframe'); 

は私を得た:

Uncaught TypeError: Object # has no method 'GetElementsByTagName'

$('iframe') は私をundefinedました。

iframeは要素ですか?これを行う方法はありますか?

すべてのページiframeを返そうとしています。

ありがとうございます。

+0

あなたは '$( 'インラインフレームを')'を使用してjQueryのを含める必要があります。 – zzzzBov

+1

'window.frames'はオプションです。 'iframe'と' frame'要素の両方を収集します。しかし、これは簡単な 'window.frames [iterator] .tagName ===" IFRAME "'チェックで無効にすることができます。 –

答えて

5

この関数は小文字gを必要とするので、document.getElementsByTagName('iframe')のようになります。はい、iframeはタグです。 https://developer.mozilla.org/en-US/docs/Web/API/Document/getElementsByTagName

+0

ありがとうございます:)これは素晴らしいですし、すべてのドキュメントiframeを返していますが、iframeは子ではありません。私は子供を見つけるために同じことをする必要がありますか? –

+1

私はあなたがiFrameの子供たちが何を意味するのか少し混乱しています。あなたは詳しく説明できますか? – Joe

+0

特定のiframe内にあるiframeを探しています。 –

2

iframeは単なる正常な要素です。

getElementsByTagName()の小文字の小文字(g、DOM APIではPascalCaseではなくcamelCaseが使用されます)を正しく理解する必要があります。

また、jQueryの場合、$('iframe')も有効です。

0

はこれを試してみてください:

function getFramesWithNoId() { 
    var result = []; 
    var frames = document.getElementsByTagName('iframe'); 
    for (var i = 0; i < frames.length; i++) { 
     if (!frames[i].id) { 
      result.push(frames[i]); 
     } 
    } 
    return(result); 
} 

現在のアクションで見ることができます:http://jsfiddle.net/jfriend00/Uxsyg/

+0

OPは文字通り 'id'属性のない' iframe'を得ることを意図していないと思います。 – alex

+0

私は、OPのポストのタイトルを、それが言うもののために取った。知るか? – jfriend00

関連する問題