我試圖讓一個div元素的所有孩子(代碼如下)爲了創建一個機制,取消選中沒有任何一個孩子的父複選框。所有的孩子都在同一個div中,但是當我使用div.childNodes [0]時,例如我得到一個Object Text元素而不是Div元素。爲什麼我無法正確獲取此div元素的childNodes?
的HTML代碼:
<div id="div_chk_ctl_adaugare" style="width: 100%; border: 0; padding: 0; background-color: white;">
<div style="width: 99.5%-10px; border: 0; padding-left: 10px; background-color: white;">
<input class="chck_nivel2_adaugare" id="chk_ctl_adaugare_conturi" name="chk_ctl_adaugare_conturi" type="checkbox" onChange="check_conturi_actiuni(\'adaugare\');" /><label for="pm_conturi_adaugare"><img id="pm_conturi_adaugare" name="plus" src="crm/imagini/plus-10.png" cursor="pointer"></img> Conturi </label>
</div>
<div id="div_dir_conturi_adaugare" style="width: 100%; border: 0; padding: 0; background-color: white;">
'.$div_dir_conturi.'
</div>
<div style="width: 99.5%-10px; border: 0; padding-left: 10px; background-color: white;">
<input class="chck_nivel2_adaugare" id="chk_ctl_adaugare_contacte" name="chk_ctl_adaugare_contacte" type="checkbox" onChange="check_contacte_actiuni(\'adaugare\');" /><label for="pm_contacte_adaugare"><img id="pm_contacte_adaugare" name="plus" src="crm/imagini/plus-10.png" cursor="pointer"></img> Contacte </label>
</div>
<div id="div_dir_contacte_adaugare" style="width: 100%; border: 0; padding: 0; background-color: white;">
'.$div_dir_contacte.'
</div>
</div>
的Javascript:
var div_col = document.getElementById("div_chk_ctl_"+tip);
//alert(div_col.childNodes[0].data);
var uncheck_tate = 1;
for(var j = 0; j<div_col.childNodes.length; j+=2) {
alert(div_col.childNodes[j]);
if(div_col.childNodes[j].childNodes[0].checked == true) {
uncheck_tate = 0
}
}
if(uncheck_tate == 1)
document.getElementById("chk_ctl_"+tip).checked = false;
else
document.getElementById("chk_ctl_"+tip).checked = true;
未註釋的警報打印[對象文本。 有沒有關於我在這裏失蹤的childNodes?我可以使用其他東西嗎?
好吧,明白了。我認爲HTML忽略空格? – Bogdan
@Bogdan瀏覽器在呈現HTML時忽略了空格。在幕後,在臭名昭着的「DOM樹」中,這些空白不會被忽略。 –