js-07Dom

89 阅读2分钟
  • 1、对于元素节点,获取其某属性的值有多种方式,如下所示:
    • 1、 element.attributes[下标].value
    • 2、 element.attributes['属性名'].value
    • 3、 element.getAttributeNode('属性名').value
    • 4、 element.getAttribute('属性名')

  • 2、DOM操作中查找元素的方式
    • 1、通过 HTML中的信息选取元素,比如:
      • a) getElementById()方法:根据元素的 id属性值查询单个节点;
      • b) getElementsByTagName()方法:根据元素标签的名称查询节点;
      • c) getElementsByName()方法:根据元素 name属性的值查询节点。
    • 2、 通过 CSS类选取元素
      • a) getElementsByClassName('className')方法:根据class名称选取元素;
      • b) querySelector('selector')和 querySelectorAll('selector')方法:根据CSS选择器选择元素。
    • 3、 通过 document对象选取,如 document.all、 document.body等;
    • 4、 通过节点遍历选取节点,如 parentNode、 firstChild等。

    • 2++:增删改查
      • (1)创建新节点\
        • createDocumentFragment() //创建一个DOM片段\
        • createElement() //创建一个具体的元素\
        • createTextNode() //创建一个文本节点\
      • (2)添加、移除、替换、插入、复制\
        • appendChild() //添加\
        • removeChild() //移除\
        • replaceChild() //替换\
        • insertBefore() //在已有的子节点前插入一个新的子节点\
        • cloneNode() //复制

  • 3、按钮添加onclick事件的方法:
    • 1、直接在 HTML代码中添加,如:javascript:funcA() 其中, funcA()为一个有效函数。

    • 2、在js代码中添加,如:btn.onclick= funcA; 或者 btn.onclick= function() {};

    • 3、 定义监听函数,代码如:btn.addEventListener( 'click' , function( ) { }) ;

  • 4、使用 js代码为页面动态添加5个按钮,每个按钮上的文本为“button1”、“button2”…“button5”。单击每个按钮时,分别弹出数字1、2…5。
for (var i= 1; i< 6; i++) {
  var input = document.createElement( 'input' ) ;
  input.setAttribute("type", "button") ;
  input.setAttribute("value", "button" + i);
  (function (n) {
    input.onclick= function () { alert(n); };
  })(i);
  document.body. appendChild(input) ;
}

  • 5、文本框验证:
    • 页面有文本框,需要限制该文本框中只能录入数字keyCode48-57,即:如果用户按下数字以外的其他键,文本框中无法录入;如果用户粘贴进非数字字符,也需要进行过滤。
    • 首先,onkeypress事件,用于在录入文本时做出判断;onkyeup事件,用于过滤粘贴进来的文本。 HTML代码如下所示:
function digitOnly(event) { 
  var code= event.keyCode || event.which; //ie||firefox
  if( (code<48) || (code>57) ) { 
    if(event.preventDefault) { //firefox 
      event.preventDefault() ;
    } 
}
/ /当按键弹起时 , 剔除输入中的非中文字符——解决复制粘贴进来的非数字
function filterChar(input){ 
  input.value= input.value.replace(/\D/g, ' ' ) ; 
}

  • 6、每隔一秒钟弹出一个对话框,弹出过程持续5秒钟(即5秒后就不弹了)
var id= setInterval(
  function() {
    alert("Hello JavaScript");
  },1000)
  
 setTimeout( 
   function() {
     clearInterval(id) ;
   }, 5*1000)