ホームページ >ウェブフロントエンド >jsチュートリアル >jsでのDOMナレッジポイントの共有

jsでのDOMナレッジポイントの共有

小云云
小云云オリジナル
2018-03-14 16:41:241513ブラウズ

1. childNodesとnodeType

childNodesは子ノードを取得しますが、あるラベルと別のラベルの間のスペースはテキストノードとして計算されます。 nodeType は、ノードがどのタイプのノードであるかを決定します。 nodeType==1 が要素ノード、2 が属性ノード、3 がテキスト ノードの場合のみ。
2. Children は子ノードを取得します。これは標準の DOM 属性ではなく、HTML ノードのみを返しますが、innerHTML メソッドと同様に、ほとんどすべてのブラウザでサポートされています。
3. offsetParent は、ノードの配置された親要素ノードを取得します。
4. FirstChild() と firstElementChild() には互換性の問題があります。互換性の問題に対処するには if を使用します。 lastchild の残りの部分などはこれと同様です。
5. 要素の属性を取得するには dom を使用し、setAttribute('設定する属性', '属性値を設定')、removeAttribute(name)、getAttribute(name) を使用しますが、これらは基本的にはあまり使用されません。しかし、それを使用しなければならない状況もあります。
6. className を使用して要素を選択すると、単純なメソッドをカプセル化できます。これにはバグはありませんが、強力な制限があります

<!DOCTYPE html><html>
    <head>
        <meta charset="UTF-8">
        <title></title>     
    </head>
    <body>
        <p id="p1">
            <ul>
                <li class="box"></li>
                <li></li>
                <li></li>
                <li class="box"></li>
                <li class="box"></li>
                <li></li>
                <li></li>
                <li class="box"></li>
            </ul>
        </p>
    </body>
    <script>
        function getByClass(oParent,sClass){
            //*号代表通配符
            var aResult=[];            var aEle = oParent.getElementsByTagName(&#39;*&#39;);            for(var i=0;i<aEle.length;i++){                if(aEle[i].className==sClass){
                    aResult.push(aEle[i]);
                }               
            }            return aResult;
        }        var p1 = document.getElementById(&#39;p1&#39;);        var aBox = getByClass(p1,&#39;box&#39;);        for(var i=0;i<aBox.length;i++){
            aBox[i].style.backgroundColor=&#39;red&#39;;
        }    </script></html>

7. フォーラム関数などのノードを作成するときは必ず作成してください。ノードを親要素の下に追加します
creatElement() でノードを作成します
appendChild() で親要素の前に作成されたノードを追加します
insertBefore() ノードの前に挿入します
removeChild() ノードを削除します

<!DOCTYPE html><html>
    <head>
        <meta charset="UTF-8">
        <title>创建节点</title>
        <script>
            window.onload=function(){
                var oUl = document.getElementById(&#39;oUl&#39;);                var oBtn = document.getElementById(&#39;btn&#39;);                var input1 = document.getElementById(&#39;input1&#39;);                var aLi = document.getElementsByTagName(&#39;li&#39;);
                oBtn.onclick=function(){
                    var oLi = document.createElement(&#39;li&#39;);                 
                    oLi.innerHTML=input1.value;                    if(aLi.length>0){
                        oUl.insertBefore(oLi,aLi[0]);
                    }else{
                        oUl.appendChild(oLi);
                    }
                }
            }        </script>
    </head>
    <body>
        <p>
            <input id="input1" type="text" />
            <input id=&#39;btn&#39; type="button" value="创建" />
            <ul id=&#39;oUl&#39;>
            </ul>
        </p>
    </body></html>

関連推奨事項:

DOMの使用に関する概要

JavaScriptでのDOMの詳細な高度なアプリケーション

DOMノードでのネイティブJavaScript操作の概要

以上がjsでのDOMナレッジポイントの共有の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。