JavaScript中 DOM操作方法小結(jié)
DM是(Document Object Model)的簡稱。
一.找元素
- document.getElementById() 根據(jù)id選擇器找,最多找一個;
- document.getElementsByName() 根據(jù)name找,找出的是數(shù)組;
- document.getElementsByclassName() 根據(jù)類選擇器找,找出的也是數(shù)組;
- document.getElementsByTagName() 根據(jù)標(biāo)簽名找,找出的是數(shù)組;
二.獲取內(nèi)容
- 非表單元素:alert(a.innerHTML);獲取代碼和內(nèi)容,但只顯示內(nèi)容。
- alert(a.innerText);提取代碼和內(nèi)容。
- 表單元素:alert(a.value); 獲取input中的value值。
三.操作屬性
- a.setAttribute("屬性名","屬性值"); 添加或更改一個屬性。
- a.getAtrribute("屬性名");獲取屬性的值。
- a.removeAttribute("屬性名"); 移除屬性。
四.設(shè)置樣式
var a = document.getElementsByClassName("a");
a[o].style.background-color="red"; //(只能取鉗在body里邊的)
五.相關(guān)元素操作
- var b = a.nextSibling; 找a的下一個同輩元素,注意包含空格。
- var b = a.previousSibling, 找a的上一個同輩元素,包含空格。
- var b = a.parentNode, 找a的上一級父級元素。
- var b = a.firstChild, 第一個元素; lastChild 最后一個; childNodes[n]找第n個;
五.元素的創(chuàng)建、添加、刪除
var obj = document.createElement('標(biāo)簽名');
a.appendChild(); 向a中添加一個子元素。
a.removeChild();從a中刪除一個子元素。
a.selectedIndex 選中的是第幾個; a.options[a.selectedIndex] //取出第幾個option對象;
六. 字符串操作
var s = "hello world";
alert(s.toLowerCase()); 轉(zhuǎn)小寫 toUpperCase();轉(zhuǎn)大寫
alert(s.substring(3,8)) 從第三個位置截取到第八個位置
alert(s.substr(3,8)); 從第三個位置截取,截取八個字符長度。不寫后面數(shù)字是截到最后。
s.split('') 將字符串按照指定字符拆開。
七.事件
- onclick: 鼠標(biāo)單擊觸發(fā)
- ondblclick: 鼠標(biāo)雙擊觸發(fā)
- onmouseover:鼠標(biāo)移動到上面觸發(fā)
- onmouseout:鼠標(biāo)離開時觸發(fā)
- onmousemove:鼠標(biāo)在上面移動時觸發(fā)
- onchange:只要內(nèi)容改變觸發(fā)
- onblur:失去焦點時觸發(fā)
- onfocus:獲得焦點時觸發(fā)
- onkeydown:按鍵按下時觸發(fā)
- onkeyup:按鍵抬起時觸發(fā)
- onkeypress: 在用戶按下并放開任何字母數(shù)字鍵時發(fā)生,但是系統(tǒng)按鈕(例:箭頭鍵、功能鍵)無法識別
例題解析:1.復(fù)選框按鈕,下一步可用
<html>
<head>
<title>無標(biāo)題文檔</title>
</head>
<body>
<input id="tong" type="checkbox" name="ch" ckecked="checked" value="1" onclick="ck_yes()")/>
<label for="tong">同意</label><br />
<input type="button" value="下一步" id="btn" disabled="disabled"/>
</body>
</html>
<script>
function ck_yes(){
var btn = document.getElementById('btn');
if(btn.disabled){
document.getElementById('btn').removeAttribute('disabled');
}else
document.getElementById('btn').setAttribute('disabled','disabled');
}
</script>
2.兩個下拉框互傳內(nèi)容
<html>
<head>
<title>無標(biāo)題文檔</title>
</head>
<body>
<select multiple="multiple" size="7" id="slt" style="width: 200px; height: 200px;">
<option>abc</option>
<option>123</option>
<option>asd</option>
<option>bcd</option>
<option>def</option>
</select>
<input type="button" value="左移" onclick="left()"/>
<input type="button" value="右移" onclick="right()"/>
<select multiple="multiple" size="7" id="slt_r" style="width: 200px; height: 200px;">
<option value="時間">時間</option>
<option value="日期">日期</option>
<option value="年月">年月</option>
<option value="東西">東西</option>
<option value="南北">南北</option>
</select>
</body>
</html>
<script>
function left(){
var slt = document.getElementById('slt');
var slt_r = document.getElementById('slt_r');
var opt1 = slt_r.options[slt_r.selectedIndex];
slt.appendChild(opt1);
}
function right(){
var slt=document.getElementById('slt');
var slt_r=document.getElementById('slt_r');
var opt = slt.options[slt.selectedIndex];
slt_r.appendChild(opt);
}
</script>
3.三個下拉框日期選擇
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<select id='year' onchange="addDay()"></select>
<select id="month" onchange="addDay()"></select>
<select id="date"></select>
</body>
</html>
<script>
var year_slt = document.getElementById('year');
var month_slt = document.getElementById('month');
var day_slt = document.getElementById('date');
var now = new Date();
now_year = now.getFullYear();
for(var i = now_year; i >= now_year - 70; i--) {
var opt_year = document.createElement('option');
opt_year.value = i;
opt_year.innerText = i;
year_slt.appendChild(opt_year);
}
for(var i = 1; i <= 12; i++) {
var opt_month = document.createElement('option');
opt_month.value = i;
opt_month.innerText = i;
month_slt.appendChild(opt_month);
}
function isRun(year) {
if((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
return 29;
} else {
return 28
}
}
function addDay() {
day_slt.innerHTML = '';
if(month_slt.value == 1 || month_slt.value == 3 || month_slt.value == 5 || month_slt.value == 7 || month_slt.value == 8 || month_slt.value == 10 || month_slt.value == 12) {
for(var i = 1; i <= 31; i++) {
var day = document.createElement('option');
day.value = i;
day.innerText = i;
day_slt.appendChild(day);
}
} else if(month_slt.value == 4 || month_slt.value == 6 || month_slt.value == 9 || month_slt.value == 11) {
for(var i = 1; i <= 30; i++) {
var day = document.createElement('option');
day.value = i;
day.innerText = i;
day_slt.appendChild(day);
}
} else {
for(var i = 1; i <= isRun(year_slt.value); i++) {
var day = document.createElement('option');
day.value = i;
day.innerText = i;
day_slt.appendChild(day);
}
}
}
</script>
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- javascript dom操作之cloneNode文本節(jié)點克隆使用技巧
- javascript DOM操作之動態(tài)刪除TABLE多行
- javascript中HTMLDOM操作詳解
- JavaScript DOM操作表格及樣式
- JavaScript基礎(chǔ)語法、dom操作樹及document對象
- JavaScript基于Dom操作實現(xiàn)查找、修改HTML元素的內(nèi)容及屬性的方法
- JavaScript學(xué)習(xí)筆記之DOM操作實例分析
- 了解javascript中的Dom操作
- 使用js dom和jquery分別實現(xiàn)簡單增刪改
- JavaScript中Dom操作實例詳解
相關(guān)文章
Promise 鏈?zhǔn)秸{(diào)用原理精簡示例
這篇文章主要為大家介紹了Promise 鏈?zhǔn)秸{(diào)用原理精簡示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-12-12
JS實現(xiàn)合并兩個數(shù)組并去除重復(fù)項只留一個的方法
這篇文章主要介紹了JS實現(xiàn)合并兩個數(shù)組并去除重復(fù)項只留一個的方法,涉及JavaScript數(shù)組合并及去重的相關(guān)技巧,需要的朋友可以參考下2015-12-12
JavaScript的內(nèi)置對象Math和字符串詳解
這篇文章主要為大家介紹了JavaScript的內(nèi)置對象Math和字符串,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助2021-11-11
代碼塊高亮可復(fù)制顯示js插件highlight.js+clipboard.js整合
最近有個需求是將jsp頁面上的某一段代碼塊格式化成類似CSDN的代碼塊的樣式,而且很多平臺都使用了這樣的功能,下面就為大家簡單分享一下2021-02-02

