淺述節(jié)點的創(chuàng)建及常見功能的實現(xiàn)
新創(chuàng)建一個元素節(jié)點,并把該節(jié)點添加為文檔中指定節(jié)點的子節(jié)點
1,新創(chuàng)建一個元素節(jié)點,返回值為指向元素節(jié)點的引用
var liNode =document.creatElement("li");
var cityNode=document.getElementById("city");
新添加newChild子節(jié)點,該子節(jié)點將作為elementNode
cityNode.appendChild(liNode);
2,創(chuàng)建一個文本節(jié)點 creatTextNode
var xmText=document.creatTextNode("廈門");
//需求: 點擊 submit 按鈕時, 檢查是否選擇 type, 若沒有選擇給出提示: "請選擇類型";
// 檢查文本框中是否有輸入(可以去除前后空格), 若沒有輸入,則給出提示: "請輸入內(nèi)容";
//若檢查都通過, 則在相應(yīng)的 ul 節(jié)點中添加對應(yīng)的 li 節(jié)點
//需求2: 使包括新增的 li 都能響應(yīng) onclick 事件: 彈出 li 的文本值.
window.onload = function(){
function showContent(liNode){
alert("^_^#" + liNode.firstChild.nodeValue);
}
var liNodes = document.getElementsByTagName("li");
for(var i = 0; i < liNodes.length; i++){
liNodes[i].onclick = function(){
showContent(this);
}
}
//1. 獲取 #submit 對應(yīng)的按鈕 submitBtn
var submit = document.getElementById("submit");
//2. 為 submitBtn 添加 onclick 響應(yīng)函數(shù)
submit.onclick = function(){
//4. 檢查是否選擇 type, 若沒有選擇給出提示: "請選擇類型"
//4.1 選擇所有的 name="type" 的節(jié)點 types
var types = document.getElementsByName("type");
//4.2 遍歷 types, 檢查其是否有一個 type 的 checked 屬性存在, 就可說明
//有一個 type 被選中了: 通過 if(元素節(jié)點.屬性名) 來判斷某一個元素節(jié)點是否有
//該屬性.
var typeVal = null;
for(var i = 0; i < types.length; i++){
if(types[i].checked){
typeVal = types[i].value;
break;
}
}
//4.3 若沒有任何一個 type 被選中, 則彈出: "請選擇類型". 響應(yīng)方法結(jié)束:
//return false
if(typeVal == null){
alert("請選擇類型");
return false;
}
//5. 獲取 name="name" 的文本值: 通過 value 屬性: nameVal
var nameEle = document.getElementsByName("name")[0];
var nameVal = nameEle.value;
//6. 去除 nameVal 的前后空格.
var reg = /^\s*|\s*$/g;
nameVal = nameVal.replace(reg, "");
//使 name 的文本框也去除前后空格.
nameEle.value = nameVal;
//6. 把 nameVal 和 "" 進(jìn)行比較, 若是 "" 說明只出入了空格, 彈出 "請輸入內(nèi)容"
//方法結(jié)束: return false
if(nameVal == ""){
alert("請輸入內(nèi)容");
return false;
}
//7. 創(chuàng)建 li 節(jié)點
var liNode = document.createElement("li");
//8. 利用 nameVal 創(chuàng)建文本節(jié)點
var content = document.createTextNode(nameVal);
//9. 把 8 加為 7 的子節(jié)點
liNode.appendChild(content);
//11. 為新創(chuàng)建的 li 添加 onclick 響應(yīng)函數(shù)
liNode.onclick = function(){
showContent(this);
}
//10. 把 7 加為選擇的 type 對應(yīng)的 ul 的子節(jié)點
document.getElementById(typeVal)
.appendChild(liNode);
//3. 在 onclick 響應(yīng)函數(shù)的結(jié)尾處添加 return false, 就可以取消提交按鈕的
//默認(rèn)行為.
return false;
}
}
</script>
</head>
<body>
<p>你喜歡哪個城市?</p>
<ul id="city">
<li id="bj">北京</li>
<li>上海</li>
<li>東京</li>
<li>首爾</li>
</ul>
<br><br>
<p>你喜歡哪款單機游戲?</p>
<ul id="game">
<li id="rl">紅警</li>
<li>實況</li>
<li>極品飛車</li>
<li>魔獸</li>
</ul>
<br><br>
<form action="dom-7.html" name="myform">
<input type="radio" name="type" value="city">城市
<input type="radio" name="type" value="game">游戲
name: <input type="text" name="name"/>
<input type="submit" value="Submit" id="submit"/>
</form>
以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,同時也希望多多支持腳本之家!
- jQuery與JavaScript節(jié)點創(chuàng)建方法的對比
- jstree創(chuàng)建無限分級樹的方法【基于ajax動態(tài)創(chuàng)建子節(jié)點】
- jQuery動態(tài)創(chuàng)建元素以及追加節(jié)點的實現(xiàn)方法
- jQuery簡單創(chuàng)建節(jié)點的方法
- JavaScript中對DOM節(jié)點的訪問、創(chuàng)建、修改、刪除
- JQuery創(chuàng)建DOM節(jié)點的方法
- 刪除javascript所創(chuàng)建子節(jié)點的方法
- js創(chuàng)建元素(節(jié)點)示例
- xml創(chuàng)建節(jié)點(根節(jié)點、子節(jié)點)
- js和jquery對dom節(jié)點的操作(創(chuàng)建/追加)
- jquery創(chuàng)建一個新的節(jié)點對象(自定義結(jié)構(gòu)/內(nèi)容)的好方法
- 創(chuàng)建二叉樹 二叉樹如何刪除節(jié)點操作教程
- 初學(xué)js 新節(jié)點的創(chuàng)建 刪除 的步驟
相關(guān)文章
Axios+Spring?Boot實現(xiàn)文件上傳和下載
這篇文章主要為大家詳細(xì)介紹了Axios+Spring?Boot實現(xiàn)文件上傳和下載,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-08-08
js中如何將多層嵌套的數(shù)組轉(zhuǎn)換為一層數(shù)組
這篇文章主要介紹了js中如何將多層嵌套的數(shù)組轉(zhuǎn)換為一層數(shù)組問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-06-06
JS上傳圖片前的限制包括(jpg jpg gif及大小高寬)等
文件上傳之前的檢測,通常是通過文件名來判斷文件類型是否合法,但是要想檢測文件的大小很難辦到,除非在本地或者使用控件。使用JS可以輕松解決詞問題,js在上傳圖片前判斷大小 這個可以用javascript實現(xiàn),效果2012-12-12
JavaScript SHA-256加密算法詳細(xì)代碼
這篇文章主要為大家詳細(xì)介紹了JavaScript SHA-256加密算法代碼,具有一定的參考價值,感興趣的朋友可以參考一下2016-10-10

