javascript(三)
来源:互联网 发布:ios sql软件 编辑:程序博客网 时间:2024/05/22 00:09
createElement(标签名) :创建一个指定名称的元素。
例:var tag=document.createElement(“input")
tag.setAttribute('type','text');
添加节点:
追加一个子节点(作为最后的子节点)
somenode.appendChild(newnode)
把增加的节点放到某个节点的前边
somenode.insertBefore(newnode,某个节点);
removeChild():获得要删除的元素,通过父元素调用删除
somenode.replaceChild(newnode, 某个节点);
移动节点:
目标位置父节点.appendChild(被移动节点) 方法从一个元素向另一个元素中移动元素。
===================================================
节点属性操作:1、修改文本节点的值:innerText innerHTML
修改innerHTML属性,这个方式非常强大,不但可以修改一个DOM节点的文本内容,还可以直接通过HTML片段修改DOM节点内部的子树:
// 获取<p id="p-id">...</p>var p = document.getElementById('p-id');// 设置文本为abc:p.innerHTML = 'ABC'; // <p id="p-id">ABC</p>// 设置HTML:p.innerHTML = 'ABC <span style="color:red">RED</span> XYZ';// <p>...</p>的内部结构已修改用innerHTML时要注意,是否需要写入HTML。如果写入的字符串是通过网络拿到了,要注意对字符编码来避免XSS攻击。
修改innerText或textContent属性,这样可以自动对字符串进行HTML编码,保证无法设置任何HTML标签:
// 获取<p id="p-id">...</p>var p = document.getElementById('p-id');// 设置文本:p.innerText = '<script>alert("Hi")</script>';// HTML被自动编码,无法设置一个<script>节点:// <p id="p-id"><script>alert("Hi")</script></p>两者的区别在于读取属性时,innerText不返回隐藏元素的文本,而textContent返回所有文本。另外注意IE<9不支持textContent。2、attribute操作
elementNode.setAttribute(name,value)
elementNode.getAttribute(属性名) <-------------->elementNode.属性名(DHTML)
elementNode.removeAttribute(“属性名”);
1.input
2.select (selectedIndex)
3.textarea
该方法不是w3c的标准,但是主流浏览器支持
tag.innerHTML = “<p>要显示内容</p>”;
5、关于class的操作:
elementNode.className
elementNode.classList.add
elementNode.classList.remove
<p id="p2">Hello world!</p>
document.getElementById("p2").style.color="blue";
.style.fontSize=48px
===================================================
DOM Event(事件)
事件类型
onclick 当用户点击某个对象时调用的事件句柄。ondblclick 当用户双击某个对象时调用的事件句柄。onfocus 元素获得焦点。 练习:输入框onblur 元素失去焦点。 应用场景:用于表单验证,用户离开某个输入框时,代表已经输入完了,我们可以对它进行验证.onchange 域的内容被改变。 应用场景:通常用于表单元素,当元素内容被改变时触发.(三级联动)onkeydown 某个键盘按键被按下。 应用场景: 当用户在最后一个输入框按下回车按键时,表单提交.onkeypress 某个键盘按键被按下并松开。onkeyup 某个键盘按键被松开。onload 一张页面或一幅图像完成加载。onmousedown 鼠标按钮被按下。onmousemove 鼠标被移动。onmouseout 鼠标从某元素移开。onmouseover 鼠标移到某元素之上。onmouseleave 鼠标从元素离开onselect 文本被选中。onsubmit 确认按钮被点击。-----------------------------------------------------------------------------------------
绑定事件方式:一
<div id="div" onclick="foo(this)">点我呀</div><script> function foo(self){ // 形参不能是this; console.log("点你大爷!"); console.log(self); }</script>二
<p id="abc">试一试!</p><script> var ele=document.getElementById("abc"); ele.onclick=function(){ console.log("ok"); console.log(this); // this直接用 };</script>
----------------------------------------------------------------------------------------
Event对象
bubbles 返回布尔值,指示事件是否是起泡事件类型。
cancelable 返回布尔值,指示事件是否可拥可取消的默认动作。
currentTarget 返回其事件监听器触发该事件的元素。
eventPhase 返回事件传播的当前阶段。
target 返回触发此事件的元素(事件的目标节点)。
timeStamp 返回事件生成的日期和时间。
type 返回当前 Event 对象表示的事件的名称。
--------------------------------------------------------------------------------------------
练习:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title> <style> .c1{ width: 20%; float: left; } .c3{ background-color: #2459a2; text-align: center; } .c2{ width: 80%; float: left; } .c4{ width: 280px; height: 300px; position: fixed; top:50%; left: 50%; margin-top: -150px; margin-left: -115px; background-color: #8aab30; text-align: right; padding-right: 30px; } .hide{ display: none; } </style></head><body><div class="c1"> <div class="c3">操作</div> <div><button class="add">新增</button></div></div><div class="c2"> <table border="1" class="tab"> <tr> <td>编号</td> <td>书名</td> <td>作者</td> <td>价格</td> <td>分类</td> <td>上架时间</td> <td>操作</td> </tr> <tr> <td>3122</td> <td>《端午节》</td> <td>egon</td> <td>2</td> <td>A</td> <td>2010</td> <td><button class="del">删除</button></td> </tr> <tr> <td>3142</td> <td>《若干规定》</td> <td>Alex</td> <td>3</td> <td>B</td> <td>2015</td> <td><button class="del">删除</button></td> </tr> <tr> <td>3422</td> <td>《哭一哭》</td> <td>yuan</td> <td>2</td> <td>A</td> <td>2010</td> <td><button class="del">删除</button></td> </tr> </table> <div class="c4 hide"> <form action="#"> <p>编号:<input type="text" class="text_data"></p> <p>书名:<input type="text" class="text_data"></p> <p>作者:<input type="text" class="text_data"></p> <p>价格:<input type="text" class="text_data"></p> <p>分类:<input type="text" class="text_data"></p> <p>上架时间:<input type="text" class="text_data"></p> <p><button>保存</button> </p> </form> </div></div><script> var ele_btn=document.getElementsByTagName('button'); for (var i=0;i<ele_btn.length;i++){ ele_btn[i].onclick=function () { if (this.className == 'add'){ var ele_tab=document.getElementsByClassName('tab')[0]; var ele_form=ele_tab.nextElementSibling; ele_form.classList.remove('hide') var New_tr=document.createElement('tr'); ele_tab.appendChild(New_tr); } else if (this.className == 'del'){ var ele_del=this.parentElement.parentElement.parentElement; var ele_f=this.parentElement.parentElement ele_del.removeChild(ele_f) } else { var ele_tab=document.getElementsByClassName('tab')[0]; var ele_last=ele_tab.lastElementChild; var ele_input=document.getElementsByClassName('text_data'); for (var i=0;i<ele_input.length;i++){ var ele_value=ele_input[i].value;// alert(ele_value) var new_td=document.createElement('td') ele_last.appendChild(new_td) var ele_1=ele_last.lastElementChild ele_1.innerText=ele_value } var new_td=document.createElement('td') ele_last.appendChild(new_td) var ele_1=ele_last.lastElementChild ele_1.innerHTML='<button onclick="ss(this)">删除</button>' var ele_form=ele_tab.nextElementSibling; ele_form.classList.add('hide') } } }function ss(self) { var ele_del=self.parentElement.parentElement.parentElement; var ele_f=self.parentElement.parentElement ele_del.removeChild(ele_f)}</script></body></html>
- JavaScript学习(三)
- Javascript对象(三)
- JavaScript介绍(三)
- JavaScript学习(三)
- JavaScript+总结(三)
- javascript核心(三)
- javascript进阶(三)
- JavaScript学习心得(三)
- JavaScript 笔记(三)
- javascript语法(三)
- JavaScript学习(三)
- JavaScript (三)
- javascript基础(三)
- Javascript基础(三)
- JavaScript优化(三)
- 理解 JavaScript(三)
- JavaScript练习(三)
- javascript练习题(三)
- 大话数据结构 code 第八章 02二叉排序树_BinarySortTree
- SQL Date 函数
- JavaSE:二维数组的经典例题:打印杨辉三角的前十行
- win10通过system32中的winbio.dll实现指纹识别的方法
- MyEclipse的项目出现红色感叹号的三种解决办法
- javascript(三)
- DBeaver无法执行数据库脚本
- js系列教程7-DOM操作全解
- MBE风格图标3步速学教程
- 镜像文件下载
- 用内核对象进行线程同步——信号量内核对象
- iOS Delegate(代理)传值~demo
- 匿名内部类 学习 to Fin
- 体验小程序