English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Spiegazione dettagliata delle proprietà e dei metodi degli elementi DOM in JavaScript (esempio di codice)

In HTML DOM (Document Object Model), ogni parte è un nodo.

Il nodo è l'unità di composizione più fondamentale della struttura DOM, ogni tag HTML è un nodo della struttura DOM.

Il documento è un nodo di documento.

Tutti gli elementi HTML sono nodi di elemento.

Tutte le proprietà HTML sono nodi di attributo.

Il testo inserito nel elemento HTML è il nodo di testo.

I commenti sono commenti del nodo.

Il tipo di nodo più básico è il tipo Node, tutti gli altri tipi derivano da Node, le operazioni DOM sono spesso la parte più onerosa del JavaScript, di conseguenza i problemi causati da NodeList sono i più frequenti. Attenzione: NodeList è 'dinamico', il che significa che ogni volta che si accede all'oggetto NodeList, viene eseguita una query, anche se questo aumenta le spese, garantisce che i nodi aggiunti di recente siano accessibili nella NodeList.

Tutti i nodi elemento condividono proprietà e metodi comuni, vediamoli più da vicino:

Prima di tutto, vediamo le proprietà comuni più utilizzate

1 element.id imposta o restituisce l'id dell'elemento

2 element.innerHTML imposta o restituisce il contenuto dell'elemento, può includere i tag figli e il contenuto

3 element.innerText imposta o restituisce il contenuto dell'elemento, escludendo i tag figli e il contenuto

4 element.className imposta o restituisce il nome della classe dell'elemento

5 element.nodeName restituisce il nome del tag in maiuscolo del nodo

6 element.nodeType restituisce il tipo di nodo del nodo, 1 rappresenta il nodo elemento, 2 rappresenta il nodo attributo...

7 element.nodeValue restituisce il valore del nodo, per i nodi elemento il valore è null

8 element.childNodes restituisce l'oggetto nodelist dei figli del nodo, nodelist è simile a un array, ha l'attributo length e può essere utilizzato per accedere al valore dell'indice specifico [index] (può anche utilizzare il metodo item(index)). Ma nodelist non è un array.

9 element.firstChild/element.lastChild restituisce il primo/ultimo figlio del nodo (inclusi i commenti e i nodi di testo)

10 element.parentNode restituisce il nodo genitore di questo nodo

11 element.previousSibling restituisce il nodo precedente dello stesso livello (inclusi i commenti e i nodi di testo)

12 element.nextSibling restituisce il nodo successivo dello stesso livello (inclusi i commenti e i nodi di testo)

13 element.childElementCount : restituisce il numero di figli elementi (esclusi i nodi di testo e i commenti)

14 element.firstElementChild /element.lastElementChild restituisce il primo/ultimo figlio elemento (esclusi i nodi di testo e i commenti)

15 element.previousElementSibling/nextElementSibling restituisce l'elemento fratello precedente/seguinte (esclusi i nodi di testo e i commenti)

16  element.clientHeight/clientWidth  返回内容的可视高度/宽度(不包括边框,边距或滚动条)

17  element.offsetHeight/offsetWidth /offsetLeft/offset/Top 返回元素的高度/宽度/相对于父元素的左偏移/右偏移(包括边框和填充,不包括边距)

18  element.style  设置或返回元素的样式属性,。示例:element.style.backgroundColor  注意,与CSS不同,style的属性要去掉横杠,第二个单词  首字母要大写

19  element.tagName  Restituisce il nome del tag dell'elemento (in maiuscolo)

<!DOCTYPE html>
<html lang="it">
<head>
  <meta charset="UTF-8">
  <title>Titolo</title>
  <style>
    .form_style{
      color: #5b5b5b;
      font-size: large;
      border: 5px solid rebeccapurple;
      background-color: antiquewhite;
      width: 440px;
      height: 120px;
      position: relative;
      left: 20px;
      top:20px;
      margin:10px;
    }
    p {
      color: #5b5b5b;
      font-size: larger;
      text-indent: 40px;
    }
  </style>
</head>
<body>
  <form id='first_form' class="form_style" name="cangjingge">
    请选择功法:<br/>
    <input type="radio" name="gongfa" value="jysg">九阳神功<br/>
    <input type="radio" name="gongfa" value="qkdny">乾坤大挪移<br/>
    <input type="radio" name="gongfa" value="khbd">葵花宝典<br/>
    <input type="radio" name="gongfa" value="xxdf">吸星大法<br/>
  </form>
  <p>少侠请三思!!!</p><!--注释标签-->
  <p>推荐功法-->葵花宝典</p>
  <script>
    //JavaScript演示代码请添加至此
    var a=document.getElementById('first_form'),
      b = document.getElementsByTagName('p')[0];
    console.log(a.id);
    console.log(a.innerHTML);
    console.log(a.className);
    console.log(a.childNodes);
    console.log(a.firstChild);
    console.log(a.lastChild);
    console.log(a.nodeName);
    console.log(a.nodeType);
    console.log(a.nodeValue);
    console.log(a.parentNode);
    console.log(a.clientHeight);
    console.log(a.offsetHeight);
    console.log(b.nextSibling);
    console.log(b.nextElementSibling);
  </script>
</body>
</html>

浏览器显示结果:

还有某些专属属性

专属属性指那些专属于某种标签的属性。比如 <a> 标签,有href和target属性。<img> 有src属性; <form>有entype以及action属性……

a_element.href  返回当前节点指向的超链接

再来看看较为常用的通用方法:

<!DOCTYPE html>
<html lang="it">
<head>
  <meta charset="UTF-8">
  <title>Titolo</title>
  <style>
    .form_style{
      color: #5b5b5b;
      font-size: large;
    }
    p {
      color: #5b5b5b;
      font-size: larger;
    }
  </style>
</head>
<body>
  <form id='first_form' class="form_style" name="cangjingge">
    请选择功法:<br/>
    <input type="radio" name="gongfa" value="jysg">九阳神功<br/>
    <input type="radio" name="gongfa" value="qkdny">乾坤大挪移<br/>
    <input type="radio" name="gongfa" value="khbd">葵花宝典<br/>
    <input type="radio" name="gongfa" value="xxdf">吸星大法<br/>
  </form>
  <p>侠士请三思!!!</p>
  <script>
    //JavaScript演示代码请添加至此
  </script>
</body>
</html>

(以下所有JavaScript演示代码都是以本文档中的示例HTML代码为实验对象)

1  element.appendChild(nodeName)   向元素添加新的子节点,作为最后一个子节点,并返回该子节点。若要向HTML DOM添加新元素,您首先必须创建该元素,然后将其追加到现有元素上。

Codice di esempio in JavaScript:

var a=document.getElementById('first_form');   
var textnode=document.createTextNode("选择谨慎");  
a.appendChild(textnode)

2  element.getAttribute(para)   Restituisce il valore dell'attributo specificato del nodo dell'elemento.

Codice di esempio in JavaScript:

var a=document.getElementById('first_form');
console.log(a.getAttribute('name'))      // Output nel console del valore name

3  element.getAttributeNode(para)   Restituisce il nodo dell'attributo specificato.

Codice di esempio in JavaScript:

var a=document.getElementById('first_form');
console.log(a.getAttributeNode('name'))      // Output nel console dell'attributo name

4  element.getElementsByTagName(para) Restituisce una raccolta di tutti gli elementi figli con il nome di etichetta specificato.

Codice di esempio in JavaScript:

var a=document.getElementById('first_form');
console.log(a.getElementsByTagName('input'))      // Output nel console

5  element.hasAttribute(para)  Se l'elemento possiede l'attributo specificato, restituisce true, altrimenti restituisce false.

Codice di esempio in JavaScript:

var a=document.getElementById('first_form');
console.log(a.hasAttribute('name'))      // Output nel console

6  element.insertBefore(insertNode,appointedNode)  Inserisci un nuovo nodo prima del nodo figlio esistente specificato.

Codice di esempio in JavaScript:

var a=document.getElementById('first_form');
    var inputList=document.getElementsByTagName('input');
    var newNode=document.createElement('input');
    var newNode2=document.createTextNode('天马流星拳');
    var br=document.createElement('br');
    newNode.type='radio';
    newNode.name='gongfa';
    newNode.value='tmlxq';
    a.insertBefore(newNode,inputList[2]);
    a.insertBefore(newNode2,inputList[3]);
    a.insertBefore(br,inputList[3]);

7  element.removeAttribute(); Rimuovi l'attributo specificato dall'elemento.

Esempio di codice JavaScript:

var a=document.getElementById('first_form');
a.removeAttribute('name');
console.log(a.hasAttribute('name'))

8  element.removeChild()   Rimuovi il nodo figlio dall'elemento. Il nodo rimosso non è più nel albero del documento, ma rimane nella memoria e può essere richiamato in qualsiasi momento.

Esempio di codice JavaScript:

var a=document.getElementById('first_form');
    a.removeChild(a.childNodes[3]);

9  element.replaceChild(newNode,replaceNode)  Sostituisci il nodo specificato con un nuovo nodo.

10  element.setAttribute(attrName,attrValue)  Imposta o modifica l'attributo specificato con il valore specificato.

Esempio di codice JavaScript:

var a=document.getElementById('first_form');
    a.setAttribute('name','shaolinsi');
    console.log(a.name)

11  element.setAttributeNode()    Modifica il nodo dell'attributo specificato

Esempio di codice JavaScript:

var a=document.getElementById('first_form');
    var attr = document.createAttribute('id');
    attr.value='the_first';
    a.setAttributeNode(attr);
     console.log(a.id)  

12  nodelist.item() Restituisce il nodo situato all'indice specificato nel NodeList.

Esempio di codice JavaScript:

var a=document.getElementsByTagName('input')
console.log(a.item(2))

Questo è tutto il contenuto dettagliato delle proprietà e dei metodi degli oggetti degli elementi DOM che l'editor ha portato per voi, speriamo che vi piaccia e continuiate a sostenere la guida di tutorial~

Ti potrebbe interessare