-3

id/classを使わずにJavascriptでHTMLタグを読みたい。getElementByIdの機能について知っています。しかし、Jquery ではなく Javascript で id や class を使用せずに HTML タグを読み取る方法を知りたいです。

4

5 に答える 5

5

DOMAPI全体があなたのためにあります。

  • (element).getElementsByTagNameタグ名で要素を取得します。
  • (element).getElementsByClassNameクラス名で要素を取得します。
  • (element).querySelector[All]CSSセレクターに基づいて1つまたは複数の要素を取得します。
  • (element).children要素の子要素を取得します。
  • (element).childNodes要素の子ノードを取得します。

リストはどんどん増えていきます。

于 2012-10-01T20:13:27.237 に答える
3

document.getElementsByTagName(...)たとえば、次のように使用できます。

var divs = document.getElementsByTagName('div');
divs; // => a list of "div" elements in the document.
于 2012-10-01T20:12:13.133 に答える
1

を使用できますdocument.getElementsByTagName

    var allDivsinDom = document.getElementsByTagName('div'); //Array of all divs
    var allAnchorinDom = document.getElementsByTagName('a'); //Array of all a
....

このようにして、dom内のすべての要素にアクセスできます

于 2012-10-01T20:12:29.180 に答える
0

document.body.childNodesまた、次のように、すべての子ノードを取得してchildNodesDOMツリー全体を読み取ることもできます。

function readHTML(node) {
    var i, child;
    if (node.nodeType == 1) { // only tags 
        for (i = 0 ; i < node.childNodes.length ; ++i) {
            child = node.childNodes[i];
            // do something with node
            window.console.info(child.tagName);
            readHTML(child);
        }
    }
}
readHTML(document.body);

document.getElementsByTagName以前に提案されただけでなく

于 2012-10-01T20:19:32.430 に答える
0

ページ内の HTML タグはツリーを形成します。そのツリーのルートは「ドキュメント」と呼ばれるノードです。そのノードで getElementById などのメソッドを呼び出して、ツリー内のさらにノードを見つけることができますが、そうする必要はありません。

innerHTML プロパティにアクセスすることで、ドキュメント全体を含む任意のノードの生の HTML コンテンツを取得できます。(これはノード自体の HTML タグではなく、そのコンテンツの HTML タグを提供することに注意してください。したがって、そのタグも必要な場合は、ノードの親の innerHTML を取得する必要があります)

ドキュメント全体の生の HTML を読みたい場合は、document.documentElement.innerHTML にアクセスして、そこから得られるものを解析してみてください。

于 2012-10-01T20:21:39.253 に答える