3 回答

TA貢獻(xiàn)11條經(jīng)驗(yàn) 獲得超10個(gè)贊
nodeName返回節(jié)點(diǎn)名稱,這點(diǎn)你的理解是對(duì)的,但元素節(jié)點(diǎn)返回元素名,文本節(jié)點(diǎn)就會(huì)返回#text。正確的從var gra=document.getElementById("edu");var A = gra.childNodes;alert(A[1].firstChild.nodeValue);
nodeValue與nodeName推薦看慕課網(wǎng)JavaScript進(jìn)階篇9-7.

TA貢獻(xiàn)361條經(jīng)驗(yàn) 獲得超191個(gè)贊
childNodes指所有子節(jié)點(diǎn)(包括文本節(jié)點(diǎn)和元素節(jié)點(diǎn)),當(dāng)你代碼這么寫(xiě):
<select?name?=?"edu"?id?=?"edu"> ??<option?value?=?"博士">博士~~~</option> ??<option?value?=?"本科"?id="benke">本科~~~</option> ??//這里select和option之間,option和option之間有空白,這段空白就是文本節(jié)點(diǎn);
childNodes[0]指得是中間那段空白(文本節(jié)點(diǎn)),nodeName是#text;
childNodes[1]為“博士”,nodeName是OPTION;
childNodes[2]為空白,nodeName是#text;
以此類推;
可以用children(只獲取元素節(jié)點(diǎn))來(lái)代替childNodes

TA貢獻(xiàn)105條經(jīng)驗(yàn) 獲得超66個(gè)贊
<!DOCTYPE html>
<html>
<head>
? ?<meta charset="UTF-8">
? ?<title>Document</title>
</head>
<body>
<select name="edu" id="edu">
? ?<option value = "博士">博士~~~</option>
? ?<option value = "本科" id="benke">本科~~~</option>
? ?<option value = "大專">大專~~~</option>
? ?<option value = "幼兒園">幼兒園~~~</option>
</select>
<script>
? ?var gra = document.getElementById("edu");
? ?for(var i=0;i<gra.childNodes.length;i++)
? ?{
? ? ? ?if(gra.childNodes[i].nodeType == 1)
? ? ? ?{
? ? ? ? ? ?console.log(gra.childNodes[i].firstChild.nodeValue);
? ? ? ?}
? ?}
</script>
</body>
</html>
添加回答
舉報(bào)