js_DOM操作
嗯,大过年的上次更新应该还是在,大年30前一天,说好的一天更一篇,感觉食言了,虽然没有更,但是,每天还是坚持在学习的,所以今天的任务就是把这几天学的都发上来。
博客,我觉得不仅仅是交流知识的地方,我宁愿把它写成我的生活日记。有差的,欢迎拍砖。
好了,进入正题吧。
DOM操作,我觉得可以归结成三个,一个标签节点,一个属性节点,一个文本节点。

这里的
li 就是标签节点;
alt就是属性节点;
第一个是文本节点(不是alt里面的);
接下来我将分别用两个例子来解释,这三个点。
我先把html放上来:
<body>
<ul>
<li alt="第一个">第一个</li>
<li>第二个<br />换行了</li>
<li>第三个</li>
</ul>
<!--<uL id="father"><li>第四个</li><li>第五个</li><li id="tt">第六个</li></uL> 这里我把叠起来,跟下面等会的操作是有区别的-->
<uL id="father">
<li>第四个</li>
<li>第五个</li>
<li id="tt">第六个</li>
</uL>
<button id="dd">点击获取第六个内容</button>
</body>

标签节点:
window.onload = function(){
var a = document.getElementById("dd");/*这里就是获取标签节点,获取button按钮,我这里是通过Id,还有其他很多方式,注意一点其他的是类数组*/
a.onclick = function(){/*点击事件*/
var d = document.getElementById("tt").childNodes[0].nodeValue;/*得到含有id=“tt”的标签,然后他的字节点,看html,只有“第六个”这几个字,这就是文本节点,nodeValue这个就是其所含的内容*/
alert(d);/*输出,注意我这里文本节点稍微带了一下*/
}
var por = document.getElementsByTagName("li")/*这是通过标签选择器,得到li标签数组,赋值给por*/
alert(por.length+" "+por[0].tagName+" "+por[1].childNodes[1].nodeName);/*输出,得到,por[]数组长度,第一个li标签的名字,第二个li的文本节点的内容*/
属性节点,文本节点:
/*得到节点*/
var first = document.getElementsByTagName("li")[0];/*标签选择器得到第一个li标签*/
console.log(first.getAttribute("alt"));/*getAttribute()方法就是得到目标对象的(里面属性)的值*/ /*创建节点*/
var Pcreate = document.createElement("p");/*创建一个p标签*/
var Textcreate = document.createTextNode("我创建了文本节点");/*createTextNode创建文本节点,并赋予内容*/
var Attcreate = document.createAttribute("style");/*createAttribute创建属性,创建的属性是style*/
Attcreate.value = "color:red";/*赋予属性值*/
Pcreate.setAttributeNode(Attcreate);/*setAttributeNode,把创建的属性节点放入创建的p标签里*/
Pcreate.appendChild(Textcreate);/*appendchild把创建的文本节点放入p标签里*/
document.body.appendChild(Pcreate);/*然后把p标签放入到body*/
js_DOM操作的更多相关文章
- JS_DOM操作之常用事件
1 - onload 事件:加载完成后立即执行 <!DOCTYPE html> <html lang="en"> <head> <meta ...
- JS_DOM操作之操作标签
<标签名 属性1="属性值1" 属性2="属性值2"-->文本</标签名> 1 - 文本操作 <div class="c ...
- JS_DOM操作之绑定事件
1 - 静态绑定:直接把事件写在标签元素中 <div id="div" onclick="foo(this)">click</div> ...
- JS_DOM操作之查找标签
1 - 直接查找标签 // 方式1:获取元素 document.getElementsByTagName("标签名") document.getElementById(" ...
- 关于DOM的操作以及性能优化问题-重绘重排
写在前面: 大家都知道DOM的操作很昂贵. 然后贵在什么地方呢? 一.访问DOM元素 二.修改DOM引起的重绘重排 一.访问DOM 像书上的比喻:把DOM和JavaScript(这里指ECMScri ...
- Sql Server系列:分区表操作
1. 分区表简介 分区表在逻辑上是一个表,而物理上是多个表.从用户角度来看,分区表和普通表是一样的.使用分区表的主要目的是为改善大型表以及具有多个访问模式的表的可伸缩性和可管理性. 分区表是把数据按设 ...
- C# ini文件操作【源码下载】
介绍C#如何对ini文件进行读写操作,C#可以通过调用[kernel32.dll]文件中的 WritePrivateProfileString()和GetPrivateProfileString()函 ...
- js学习笔记:操作iframe
iframe可以说是比较老得话题了,而且网上也基本上在说少用iframe,其原因大致为:堵塞页面加载.安全问题.兼容性问题.搜索引擎抓取不到等等,不过相对于这些缺点,iframe的优点更牛,跨域请求. ...
- jquery和Js的区别和基础操作
jqery的语法和js的语法一样,算是把js升级了一下,这两种语法可以一起使用,只不过是用jqery更加方便 一个页面想要使用jqery的话,先要引入一下jqery包,jqery包从网上下一个就可以, ...
随机推荐
- 利用css3特性写出三角形(兼容IE浏览器)
利用CSS写出三角形的效果 效果如图: 代码如下: .triangle-up { width:0px; height:0px; border-left:10px solid transparent; ...
- Javascript 浏览器探测
1.根据浏览器的性能 var is = { ff: window.globalStorage, ie: document.all && !window.opera, ie6: !win ...
- Ueditor的配置及使用
Ueditor官网:http://ueditor.baidu.com/website/ (项目需要JSP版本:UTF-8版) 1.配置 <script type="text/ja ...
- OPENCV图像变换-2
一.经典霍夫变换 霍夫变换是图像处理中的一种特征提取技术,该方法通过在一个参数空间中通过计算累计结果的局部最大值来得到一个符合该特定形状的集合,作为结果. 运用两个坐标空间之间的变换,将一个空间中具有 ...
- Knockout 系列
由于近期要做的项目要兼容到IE6,原来的angular框架已经不能满足现在的兼容性要求. 解决方案: 1. 放弃框架,改为库 2. UI库采用 Knockout,css 3. css库 采用 boot ...
- 关于JAVA中hashCode
hash code 即散列码根据对象计算出的一个整型值,散列码是没有规律的. 如果两个对象相等(equal() 返回true),则hashCode一定相等,如果两个对象hashCode相等,则对象不一 ...
- 22、手把手教你Extjs5(二十二)模块Form的自定义的设计[1]
下面开始设计和完成一个简单的Form的自定义过程.先准备数据,在ModuleModel.js中的data属性下面,加入自定义Form的参数定义,下面的代码中定义了一个新的属性tf_formScheme ...
- LPC1788做U盘的时候对命令的响应
首先是对于端点的数据处理 #ifndef __USBEP2_H_ #define __USBEP2_H_ #include "usb.h" #include "usbhw ...
- UVa 10299 - Relatives
题目大意:Euler's Totient的应用. 几乎和UVa 10179 - Irreducable Basic Fractions一样,于是偷了个懒,直接用10179题的代码,结果WA了,感觉一样 ...
- 在DataGrid中实现Button Command
Command="{Binding butCommand}"会默认查找ListViewItems中对象的属性,而你的ListViewItems中对象应该不包括butCommand属 ...