JavaScript中 DOM操作方法小结
程序员文章站
2023-11-06 17:05:58
dm是(document object model)的简称。
一.找元素
document.getelementbyid() &nb...
dm是(document object model)的简称。
一.找元素
- document.getelementbyid() 根据id选择器找,最多找一个;
- document.getelementsbyname() 根据name找,找出的是数组;
- document.getelementsbyclassname() 根据类选择器找,找出的也是数组;
- document.getelementsbytagname() 根据标签名找,找出的是数组;
二.获取内容
- 非表单元素:alert(a.innerhtml);获取代码和内容,但只显示内容。
- alert(a.innertext);提取代码和内容。
- 表单元素:alert(a.value); 获取input中的value值。
三.操作属性
- a.setattribute("属性名","属性值"); 添加或更改一个属性。
- a.getatrribute("属性名");获取属性的值。
- a.removeattribute("属性名"); 移除属性。
四.设置样式
var a = document.getelementsbyclassname("a"); a[o].style.background-color="red"; //(只能取钳在body里边的)
五.相关元素操作
- var b = a.nextsibling; 找a的下一个同辈元素,注意包含空格。
- var b = a.previoussibling, 找a的上一个同辈元素,包含空格。
- var b = a.parentnode, 找a的上一级父级元素。
- 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('') 将字符串按照指定字符拆开。
七.事件
- onclick: 鼠标单击触发
- ondblclick: 鼠标双击触发
- onmouseover:鼠标移动到上面触发
- onmouseout:鼠标离开时触发
- onmousemove:鼠标在上面移动时触发
- onchange:只要内容改变触发
- onblur:失去焦点时触发
- onfocus:获得焦点时触发
- onkeydown:按键按下时触发
- onkeyup:按键抬起时触发
- 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>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。