溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

JavaScript中 DOM操作方法小結(jié)

發(fā)布時間:2020-09-02 08:23:33 來源:腳本之家 閱讀:185 作者:yinyanlei 欄目:web開發(fā)

DM是(Document Object Model)的簡稱。

一.找元素

  1. document.getElementById()    根據(jù)id選擇器找,最多找一個;
  2. document.getElementsByName()   根據(jù)name找,找出的是數(shù)組;  
  3. document.getElementsByclassName()  根據(jù)類選擇器找,找出的也是數(shù)組;
  4. document.getElementsByTagName()   根據(jù)標(biāo)簽名找,找出的是數(shù)組;

二.獲取內(nèi)容

  1. 非表單元素:alert(a.innerHTML);獲取代碼和內(nèi)容,但只顯示內(nèi)容。
  2.  alert(a.innerText);提取代碼和內(nèi)容。
  3. 表單元素:alert(a.value);  獲取input中的value值。

三.操作屬性

  1. a.setAttribute("屬性名","屬性值");   添加或更改一個屬性。
  2. a.getAtrribute("屬性名");獲取屬性的值。
  3. a.removeAttribute("屬性名"); 移除屬性。

四.設(shè)置樣式

var a = document.getElementsByClassName("a");

a[o].style.background-color="red";  //(只能取鉗在body里邊的)

五.相關(guān)元素操作

  1. var b = a.nextSibling;    找a的下一個同輩元素,注意包含空格。
  2. var b = a.previousSibling, 找a的上一個同輩元素,包含空格。
  3. var b = a.parentNode,     找a的上一級父級元素。
  4. 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('')  將字符串按照指定字符拆開。

七.事件

  1. onclick: 鼠標(biāo)單擊觸發(fā)
  2. ondblclick: 鼠標(biāo)雙擊觸發(fā)
  3. onmouseover:鼠標(biāo)移動到上面觸發(fā)
  4. onmouseout:鼠標(biāo)離開時觸發(fā)
  5. onmousemove:鼠標(biāo)在上面移動時觸發(fā)
  6. onchange:只要內(nèi)容改變觸發(fā)
  7. onblur:失去焦點時觸發(fā)
  8. onfocus:獲得焦點時觸發(fā)
  9. onkeydown:按鍵按下時觸發(fā)
  10. onkeyup:按鍵抬起時觸發(fā)
  11. 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" >
      <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" >
      <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í)有所幫助,也希望大家多多支持億速云。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI