1. 程式人生 > >對js原生選擇器的認識

對js原生選擇器的認識

//原始碼----start

<!DOCTYPE html>
  <html>
  <head>
  <meta charset="utf-8">
  <title>IFE JavaScript Task 01</title>
  </head>
  <body>
   
  <label>請輸入北京今天空氣質量:<input id="aqi-input" class="add" type="text" value="aa" /></label>
  <button id="button">確認填寫</button>
   
  <div>您輸入的值是:<span id="aqi-display">尚無錄入</span></div>
   
  <script type="text/javascript">
   
  (function() {
  /*
  在註釋下方寫下程式碼
  給按鈕button繫結一個點選事件
  在事件處理函式中
  獲取aqi-input輸入的值,並顯示在aqi-display中
  */
  var _event = document.getElementById('button');
  // var _input =document.getElementById('aqi-input');
  var _input=document.querySelector('#aqi-input');
  //querySelector選擇器js原生的有類似於和jQuery的$一樣強大的選擇繫結選擇器的功能。document.querySelector("p")//取第一個P標籤dom,document.querySelector(".app")//取第一個class為app的dom
  console.log(_input);
  _event.addEventListener('click',function(){
  debugger
  console.log(_input);
  //_input.getAttribute('value')//得到的值都是aa他是dom屬性值,屬性值不可變,HTML值
  //次一點的實現 innerHTML是符合W3C標準的屬性,而innerText只適用於IE瀏覽器(現在也適應chrome瀏覽器)
  // document.getElementById('aqi-display').innerText=_input.value;
  document.getElementById('aqi-display').innerHTML=_input.value;
  })
   
  })();
   
  </script>
  </body>
  </html>

//原始碼----end

總結:

本人的一個百度的課程題目,實現的是輸入資料顯示在其他地方。這裡涉及的知識有。
1、事件監聽。addEventListener('click',function(){})
2、js獲取都dom元素,document.getElementById('aa')//獲取id為aa的dom
		    document.getElementsByClassName('bb');//獲取.class為bb的dom
		    document.getElementsByTagName('p');//獲取p標籤;
3.使用querySelector,querySelector選擇器js原生的有類似於和jQuery的$一樣強大的選擇繫結選擇器的功能。
		document.querySelector("p")//取第一個P標籤dom,
		document.querySelector(".app")//取第一個class為app的dom
		document.querySelector("#apps")//取id為apps的dom
4.// var _input =document.getElementById('aqi-input');
  var _input=document.querySelector('#aqi-input');
_input.getAttribute('value')//得到的值都是aa他是dom屬性值,屬性值不可變;_input.value取到的是HTML值,是可變的。
5.innerHTML和innerText的區別
innerHTML是符合W3C標準的屬性,而innerText只適用於IE瀏覽器(現在也適應chrome瀏覽器)
6、可以使用innerHTML取得包含HTML標籤的內容後,再用正則表示式去除HTML標籤
正則去標籤方法  var content = document.getElementById("p1");  
            alert(content.innerHTML.replace(/& lt;.+?>/gim,'')); 
7、使用outerHTML和outerText 與innerHTML 、innerText一一對應,outerHTML 是element DOM介面的 outerHTML屬性, 獲取描述包括其後代的元素的序列化HTML片段。它可以用從給定字串解析的節點設定為替換元素。使用outerHTML替換掉HTML元素,被替換的元素不顯示但是仍然在記憶體中。
8.label 和input的妙用, input的id和label的for設定為同樣的值可以使點選label裡的內容觸發input的事件,使用label與input可以實現類似原生的自動方格密碼輸入。

本人的本篇部落格的github連結地址:https://github.com/Mrliu1/newife/tree/master/blogOne

歡迎大家交流,斧正!