[Javascript log]ドキュメント(2)
15771 ワード
プライマリノード構成
DOMノードは、異なるタイプのPropertyをサポートします.ラベル(
1)EventTarget:ルートディレクトリ内の抽象クラスで、実際にはそのクラスに対応するオブジェクトは作成されません.すべてのDOMノードに基づいているため、イベントはDOMノードで使用できます.
2)Node:DOMノードの基礎となる抽象クラス.getterとして機能するparentNode、nextSibling、childNodesなどの主要なツリーナビゲーション機能が提供されます.ノードクラス内のオブジェクトは絶対に作成されません.しかし、この等級を受け継いだのはいくつかの等級がある.テキストノードのテキストクラスと要素ノードのElementクラス、およびアノテーションノードのCommentクラスはNodeクラスを継承します.
3)Element:DOM要素のベースクラス.nextElementSibling、ChildrentまたはgetElementsByTagName、querySelectorなどの要素専用ナビゲーションを支援するプロフェッショナルまたはメソッドガイドは、これに基づいています.ブラウザはHTMLだけでなく、XMLとSVGもサポートしています.Elementクラスは、それに関連するSVGEElement、XML Element、HTML Elementクラスの基礎です.
4)HTML Element–HTML要素ノードのベースとなるクラス.以下に示すクラスは、実際のHTML要素に対応し、HTML Elementを継承します.
HTML InputElement–
HTML BodyElement–
HTML AnchorElement–
instanceofを使用して継承するかどうかを確認できます.
NodeNameまたはtagname propertyを使用して、DOMノードのタグ名を識別します.
InnerHTMLプロパティを使用すると、要素内のHTMLを文字列で受信できます.
テキストノードなどの他のタイプのノードでは、innerHTMLと同様のproperty nodeValueとdataを使用する必要があります.
hidden propertyは、要素を表示するかどうかを指定するために使用できます.
ブラウザがWebページに遭遇すると、HTML生成DOMオブジェクトが読み込まれます.要素ノードでは、ほとんどの標準HTML属性(attribute)がDOMオブジェクトのpropertyです.
=>メソッド
elem.hasAttribute(name)-属性が存在するかどうかを確認します
elem.getAttribute(name)-属性値の取得
elem.setAttribute(name,value)-属性値の変更
elem.removeAttribute(name)-属性値の消去
HTML属性フィーチャー
-大文字と小文字を区別しない=>idとIDは同じ
-値は常に文字列です.
文字列は大文字と小文字を区別します.
標準属性が変化すると、対応するプログラムが自動的に更新されます.場合によってはpropertyが変化すると、プロパティも更新されます.でもinputvalueのように、同期がプロパティ内でproperty方向にのみ発生する例外もあります.
DOMプロパティは必ずしも文字列ではありません.チェックボックスの入力に使用します.checked propertyの場合、と呼ばれる値があります.
要素の作成
node.prepend(ノードまたは文字列)–ノードの前にノードまたは文字列を挿入します.
node.before(ノードまたは文字列)–ノードの前にノードまたは文字列を挿入します.
node.after(ノードまたは文字列)–ノードの後にノードまたは文字列を挿入します.
node.「Withの置き換え」(Replace With)-ノードを新しいノードまたは文字列で置き換えます.
elem.InsertAdjacentHTML(where,html)では、最初のパラメータのelemに対する位置は、次のいずれかでなければなりません.
「beforceregin」–elemの直前にhtmlを挿入します.
「afterbegin」–elemの最初のサブエレメントの前にhtmlを挿入します.
「beforefend」–elemの最後のサブエレメントの後にhtmlを挿入します.
「afterend」–elemの後にhtmlを挿入します.
node.removeノードの削除を許可
elem.cloneNode(true)を呼び出すと、elemの深度(Depth)コピーが作成されます.すべての属性とすべてのサブ要素をコピーします.elem.cloneNode(false)を呼び出すと、子孫ノードはコピーされずにelemのみがコピーされます.
DOMノードは、異なるタイプのPropertyをサポートします.ラベル(
<a>
対応要素ノードはリンク関連propertyを提供し、<input>
対応要素ノードは入力関連propertyを提供する)が、すべてのDOMノードは共通の祖先によって作成されるため、ノードタイプは異なるが、すべてのDOMノードは共通のpropertyおよびメソッドをサポートする.DOMノードには、異なるタイプの対応する組み込みクラスがあります.階層の上部にEventTargetがあり、NodeはEventTargetを継承し、他のDOMノードはNodeクラスを継承します.1)EventTarget:ルートディレクトリ内の抽象クラスで、実際にはそのクラスに対応するオブジェクトは作成されません.すべてのDOMノードに基づいているため、イベントはDOMノードで使用できます.
2)Node:DOMノードの基礎となる抽象クラス.getterとして機能するparentNode、nextSibling、childNodesなどの主要なツリーナビゲーション機能が提供されます.ノードクラス内のオブジェクトは絶対に作成されません.しかし、この等級を受け継いだのはいくつかの等級がある.テキストノードのテキストクラスと要素ノードのElementクラス、およびアノテーションノードのCommentクラスはNodeクラスを継承します.
3)Element:DOM要素のベースクラス.nextElementSibling、ChildrentまたはgetElementsByTagName、querySelectorなどの要素専用ナビゲーションを支援するプロフェッショナルまたはメソッドガイドは、これに基づいています.ブラウザはHTMLだけでなく、XMLとSVGもサポートしています.Elementクラスは、それに関連するSVGEElement、XML Element、HTML Elementクラスの基礎です.
4)HTML Element–HTML要素ノードのベースとなるクラス.以下に示すクラスは、実際のHTML要素に対応し、HTML Elementを継承します.
HTML InputElement–
<input>
要素に対応するクラスHTML BodyElement–
<body>
要素に対応するクラスHTML AnchorElement–
<a>
要素に対応するクラスinstanceofを使用して継承するかどうかを確認できます.
NodeNameまたはtagname propertyを使用して、DOMノードのタグ名を識別します.
InnerHTMLプロパティを使用すると、要素内のHTMLを文字列で受信できます.
<body>
<p>p 태그</p>
<div>div 태그</div>
<script>
alert( document.body.innerHTML ); // 내용 읽기
document.body.innerHTML = '새로운 BODY!'; // 교체
</script>
</body>
elem.innerHTML+=「HTMLを追加」では、要素にHTMLを追加できます.既存のコンテンツを削除し、既存のコンテンツと新しいコンテンツを統合します.=>イメージなどのリソースはすべて再ロードされます.chatDiv.innerHTML += "<div>안녕하세요<img src='smile.gif'/> !</div>";
chatDiv.innerHTML += "잘 지내죠?";
外部HTML property要素にはHTML全体が含まれています.outerHTMLはinnerHTMLに要素自体が追加されていると考えられます.<div id="elem">Hello <b>World</b></div>
<script>
alert(elem.outerHTML); // <div id="elem">Hello <b>World</b></div>
</script>
=>>DOMの要素を置き換えます.テキストノードなどの他のタイプのノードでは、innerHTMLと同様のproperty nodeValueとdataを使用する必要があります.
<body>
안녕하세요.
<!-- 주석 -->
<script>
let text = document.body.firstChild;
alert(text.data); // 안녕하세요.
let comment = text.nextSibling;
alert(comment.data); // 주석
</script>
</body>
textContentは純粋なテキストのみにアクセスします.ラベル以外はテキストのみ抽出します.innerHTMLは、要素内のHTML(タグを含むこともできる)を文字列形式で受信することができる.hidden propertyは、要素を表示するかどうかを指定するために使用できます.
<div>아래 두 div를 숨겨봅시다.</div>
<div hidden>HTML의 hidden 속성 사용하기</div>
<div id="elem">자바스크립트의 hidden 프로퍼티 사용하기</div>
<script>
elem.hidden = true;
</script>
属性と属性ブラウザがWebページに遭遇すると、HTML生成DOMオブジェクトが読み込まれます.要素ノードでは、ほとんどの標準HTML属性(attribute)がDOMオブジェクトのpropertyです.
document.body.myData = {
name: 'Caesar',
title: 'Imperator'
};
alert(document.body.myData.title); // Imperator
document.body.sayTagName = function(){
alert(this.tagName);
}
document.body.sayTagName();
ただし、非標準属性はPropertyに変換できません.=>メソッド
elem.hasAttribute(name)-属性が存在するかどうかを確認します
elem.getAttribute(name)-属性値の取得
elem.setAttribute(name,value)-属性値の変更
elem.removeAttribute(name)-属性値の消去
HTML属性フィーチャー
-大文字と小文字を区別しない=>idとIDは同じ
-値は常に文字列です.
文字列は大文字と小文字を区別します.
標準属性が変化すると、対応するプログラムが自動的に更新されます.場合によってはpropertyが変化すると、プロパティも更新されます.でもinputvalueのように、同期がプロパティ内でproperty方向にのみ発生する例外もあります.
DOMプロパティは必ずしも文字列ではありません.チェックボックスの入力に使用します.checked propertyの場合、と呼ばれる値があります.
<input id="input" type="checkbox" checked> checkbox
<script>
alert(input.getAttribute('checked')); // 속성 값: 빈 문자열
alert(input.checked); // 프로퍼티 값: true
</script>
ドキュメントの変更要素の作成
let div = document.createElement('div);
let textNode = document.createTextNode('안녕하세요');
// 1. <div> 요소 만들기
let div = document.createElement('div');
// 2. 만든 요소의 클래스를 'alert'로 설정
div.className = "alert";
// 3. 내용 채워넣기
div.innerHTML = "<strong>안녕하세요!</strong> 중요 메시지를 확인하셨습니다.";
docuement.body.append(div);
node.append(ノードまたは文字列)–ノードの最後にノードまたは文字列を挿入します.node.prepend(ノードまたは文字列)–ノードの前にノードまたは文字列を挿入します.
node.before(ノードまたは文字列)–ノードの前にノードまたは文字列を挿入します.
node.after(ノードまたは文字列)–ノードの後にノードまたは文字列を挿入します.
node.「Withの置き換え」(Replace With)-ノードを新しいノードまたは文字列で置き換えます.
elem.InsertAdjacentHTML(where,html)では、最初のパラメータのelemに対する位置は、次のいずれかでなければなりません.
「beforceregin」–elemの直前にhtmlを挿入します.
「afterbegin」–elemの最初のサブエレメントの前にhtmlを挿入します.
「beforefend」–elemの最後のサブエレメントの後にhtmlを挿入します.
「afterend」–elemの後にhtmlを挿入します.
<div id="div"></div>
<script>
div.insertAdjacentHTML('beforebegin', '<p>안녕하세요.</p>');
div.insertAdjacentHTML('afterend', '<p>안녕히 가세요.</p>');
</script>
node.removeノードの削除を許可
elem.cloneNode(true)を呼び出すと、elemの深度(Depth)コピーが作成されます.すべての属性とすべてのサブ要素をコピーします.elem.cloneNode(false)を呼び出すと、子孫ノードはコピーされずにelemのみがコピーされます.
Reference
この問題について([Javascript log]ドキュメント(2)), 我々は、より多くの情報をここで見つけました https://velog.io/@soyernssi/Javascript-log-문서-2テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol