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 相关文章推荐
dojo 之基础篇(二)之从服务器读取数据
Mar 24 Javascript
javascript 读取图片文件的大小
Jun 25 Javascript
javascript 模式设计之工厂模式学习心得
Apr 27 Javascript
Javascript实现滚动图片新闻的实例代码
Nov 27 Javascript
jQuery Validate表单验证插件 添加class属性形式的校验
Jan 18 Javascript
浅谈javascript中的constructor
Jun 08 Javascript
js实现加载页面就自动触发超链接的示例
Aug 31 Javascript
纯js代码生成可搜索选择下拉列表的实例
Jan 11 Javascript
详解小程序缓存插件(mrc)
Aug 17 Javascript
js实现无限层级树形数据结构(创新算法)
Feb 27 Javascript
ES6中Set和Map用法实例详解
Mar 02 Javascript
前端开发基础javaScript的六大作用
Aug 06 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
PHP如何编写易读的代码
2007/07/10 PHP
Discuz!下Memcache缓存实现方法
2010/05/28 PHP
php下通过curl抓取yahoo boss 搜索结果的实现代码
2011/06/10 PHP
php 对输入信息的进行安全过滤的函数代码
2012/06/29 PHP
深入理解PHP中的Session和Cookie
2013/06/21 PHP
php 购物车完整实现代码
2014/06/05 PHP
兼容FireFox 的 js 日历 支持时间的获取
2009/03/04 Javascript
dojo学习第一天 Tab选项卡 实现
2011/08/28 Javascript
JS调用页面表格导出excel示例代码
2014/03/18 Javascript
jquery实现点击页面计算点击次数
2015/01/23 Javascript
怎么引入(调用)一个JS文件
2016/05/26 Javascript
javascript运算符——逻辑运算符全面解析
2016/06/27 Javascript
老生常谈JavaScript中的this关键字
2016/10/01 Javascript
用jQuery的AJax实现异步访问、异步加载
2016/11/02 Javascript
windows下vue.js开发环境搭建教程
2017/03/20 Javascript
超出JavaScript安全整数限制的数字计算BigInt详解
2018/06/24 Javascript
Angularjs 根据一个select的值去设置另一个select的值方法
2018/08/13 Javascript
Vue插件从封装到发布的完整步骤记录
2019/02/28 Javascript
[03:07]完美世界DOTA2联赛PWL DAY10 决赛集锦
2020/11/11 DOTA
python自定义线程池控制线程数量的示例
2019/02/22 Python
使用Pyinstaller转换.py文件为.exe可执行程序过程详解
2019/08/06 Python
如何将你的应用迁移到Python3的三个步骤
2019/12/22 Python
PyTorch里面的torch.nn.Parameter()详解
2020/01/03 Python
Python基于爬虫实现全网搜索并下载音乐
2021/02/14 Python
白色公司:The White Company
2017/10/11 全球购物
Under Armour安德玛中国官网:美国高端运动科技品牌
2018/03/09 全球购物
联想法国官方网站:Lenovo法国
2018/10/18 全球购物
定义一结构体变量,用其表示点坐标,并输入两点坐标,求两点之间的距离
2015/08/17 面试题
母亲追悼会答谢词
2014/01/27 职场文书
社区优秀志愿者材料
2014/02/02 职场文书
物流管理专业推荐信
2014/09/06 职场文书
预备党员入党感想
2015/08/10 职场文书
社会实践心得体会范文
2016/01/14 职场文书
python中的被动信息搜集
2021/04/29 Python
SpringBoot SpringEL表达式的使用
2021/07/25 Java/Android
图片批量处理 - 尺寸、格式、水印等
2022/03/07 杂记