JavaScript中 DOM操作方法小结


Posted in Javascript onApril 25, 2017

DM是(Document Object Model)的简称。

一.找元素

  1. document.getElementById()    根据id选择器找,最多找一个;
  2. document.getElementsByName()   根据name找,找出的是数组;  
  3. document.getElementsByclassName()  根据类选择器找,找出的也是数组;
  4. document.getElementsByTagName()   根据标签名找,找出的是数组;

二.获取内容

  1. 非表单元素:alert(a.innerHTML);获取代码和内容,但只显示内容。
  2.  alert(a.innerText);提取代码和内容。
  3. 表单元素:alert(a.value);  获取input中的value值。

三.操作属性

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

四.设置样式

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

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

五.相关元素操作

  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个;

五.元素的创建、添加、删除

var obj = document.createElement('标签名');

a.appendChild(); 向a中添加一个子元素。

a.removeChild();从a中删除一个子元素。

a.selectedIndex   选中的是第几个; a.options[a.selectedIndex]   //取出第几个option对象;

六. 字符串操作

var s = "hello world";

alert(s.toLowerCase());  转小写  toUpperCase();转大写

alert(s.substring(3,8))  从第三个位置截取到第八个位置

alert(s.substr(3,8));  从第三个位置截取,截取八个字符长度。不写后面数字是截到最后。

s.split('')  将字符串按照指定字符拆开。

七.事件

  1. onclick: 鼠标单击触发
  2. ondblclick: 鼠标双击触发
  3. onmouseover:鼠标移动到上面触发
  4. onmouseout:鼠标离开时触发
  5. onmousemove:鼠标在上面移动时触发
  6. onchange:只要内容改变触发
  7. onblur:失去焦点时触发
  8. onfocus:获得焦点时触发
  9. onkeydown:按键按下时触发
  10. onkeyup:按键抬起时触发
  11. onkeypress: 在用户按下并放开任何字母数字键时发生,但是系统按钮(例:箭头键、功能键)无法识别

例题解析:1.复选框按钮,下一步可用 

<html>
  <head>
  <title>无标题文档</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.两个下拉框互传内容

<html>
  <head>
  <title>无标题文档</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>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
使用jquery插件实现图片延迟加载技术详细说明
Mar 12 Javascript
jquery实现div拖拽宽度示例代码
Jul 31 Javascript
浏览器页面区域大小的js获取方法
Sep 21 Javascript
原生js实现图片层叠轮播切换效果
Feb 02 Javascript
js获取当前时间(昨天、今天、明天)
Nov 23 Javascript
vuex与组件联合使用的方法
May 10 Javascript
不得不知的ES6小技巧
Jul 28 Javascript
vue3.0 CLI - 3.2 路由的初级使用教程
Sep 20 Javascript
vue动态绑定class选中当前列表变色的方法示例
Dec 19 Javascript
微信内置浏览器图片查看器的代码实例
Oct 08 Javascript
react-native 实现购物车滑动删除效果的示例代码
Jan 15 Javascript
js实现简单商品筛选功能
Feb 02 Javascript
ES6正则的扩展实例详解
Apr 25 #Javascript
Javascript中八种遍历方法的执行速度深度对比
Apr 25 #Javascript
详谈js使用in和hasOwnProperty获取对象属性的区别
Apr 25 #Javascript
3分钟掌握常用的JS操作JSON方法总结
Apr 25 #Javascript
vue.js父组件使用外部对象的方法示例
Apr 25 #Javascript
ES6学习笔记之正则表达式和字符串正则方法分析
Apr 25 #Javascript
Javascript中类式继承和原型式继承的实现方法和区别之处
Apr 25 #Javascript
You might like
Email+URL的判断和自动转换函数
2006/10/09 PHP
简单的php 验证图片生成函数
2009/05/21 PHP
用PHP的ob_start() 控制您的浏览器cache
2009/08/03 PHP
ThinkPHP 连接Oracle数据库的详细教程[全]
2012/07/16 PHP
简单谈谈php延迟静态绑定
2016/01/26 PHP
User Scripts: Video Download by User Scripts
2007/05/14 Javascript
JavaScript-世界上误解最深的语言分析
2007/08/12 Javascript
JavaScript window.document的属性、方法和事件小结
2012/10/24 Javascript
今天是星期几的4种JS代码写法
2013/09/17 Javascript
将json对象转换为字符串的方法
2014/02/20 Javascript
11种ASP连接数据库的方法
2015/09/18 Javascript
JavaScript操作HTML DOM节点的基础教程
2016/03/11 Javascript
浅谈jQuery中的checkbox问题
2016/08/10 Javascript
利用Node.js制作爬取大众点评的爬虫
2016/09/22 Javascript
vue2.0结合Element实现select动态控制input禁用实例
2017/05/12 Javascript
JS HTML图片显示Canvas 压缩功能
2017/07/21 Javascript
微信小程序 页面跳转事件绑定的实例详解
2017/09/20 Javascript
详解ES6语法之可迭代协议和迭代器协议
2018/01/13 Javascript
详解基于DllPlugin和DllReferencePlugin的webpack构建优化
2018/06/28 Javascript
js最实用string(字符串)类型的使用及截取与拼接详解
2019/04/26 Javascript
使用easyui从servlet传递json数据到前端页面的两种方法
2019/09/05 Javascript
JavaScript 实现继承的几种方式
2021/02/19 Javascript
[01:06]DOTA2亚洲邀请赛专属珍藏-荧煌之礼
2017/03/24 DOTA
python numpy 部分排序 寻找最大的前几个数的方法
2018/06/27 Python
Python实现动态添加属性和方法操作示例
2018/07/25 Python
Python实现全排列的打印
2018/08/18 Python
利用Python过滤相似文本的简单方法示例
2021/02/03 Python
详解FireFox下Canvas使用图像合成绘制SVG的Bug
2019/07/10 HTML / CSS
YSL圣罗兰美妆英国官网:Yves Saint Laurent Beauty UK
2019/08/03 全球购物
合作意向书模板
2014/03/31 职场文书
四风查摆问题及整改措施
2014/10/10 职场文书
4S店收银员岗位职责
2015/04/07 职场文书
重阳节主题班会
2015/08/17 职场文书
2016年先进班集体事迹材料
2016/02/26 职场文书
应届毕业生的自我评价
2019/06/21 职场文书
某某幼儿园的教育教学管理调研分析报告
2019/11/29 职场文书