项目总结—从零开始(6)

原创 2012年04月08日 14:22:07

1.当通过js拿到一个对象时,又想使用jquery中的方法,如果直接用js拿到的对象,然后再用jquery方法,是不起作用的,而应该如下处理:

var i=$(window.parent.document.getElementById("documentList_iframe"));
    i.css("height","1000px");


2.jquery中data方法的使用:data() 方法向被选元素附加数据,或者从被选元素获取数据。

例如:$("#catalogSelect").data("isDelOriginal","true");向id为catalogSelect的对象中附加数据,然后通过$("#catalogSelect").data("isDelOriginal")来获取数据。


3.html dom的学习:

节点

根据 DOM,HTML 文档中的每个成分都是一个节点。

DOM 是这样规定的:

  • 整个文档是一个文档节点
  • 每个 HTML 标签是一个元素节点
  • 包含在 HTML 元素中的文本是文本节点
  • 每一个 HTML 属性是一个属性节点
  • 注释属于注释节点

Node 层次

节点彼此都有等级关系。

HTML 文档中的所有节点组成了一个文档树(或节点树)。HTML 文档中的每个元素、属性、文本等都代表着树中的一个节点。树起始于文档节点,并由此继续伸出枝条,直到处于这棵树最低级别的所有文本节点为止。


下面这个图片表示一个文档树(节点树):

HTML树结构


查找并访问节点

你可通过若干种方法来查找您希望操作的元素:

  • 通过使用 getElementById() 和 getElementsByTagName() 方法
  • 通过使用一个元素节点的 parentNode、firstChild 以及 lastChild 属性
下面这个例子会返回所有 <p> 元素的一个节点列表,且这些 <p> 元素必须是 id 为 "maindiv" 的元素的后代:

document.getElementById('maindiv').getElementsByTagName("p");


节点信息

每个节点都拥有包含着关于节点某些信息的属性。这些属性是:

  • nodeName(节点名称)
  • nodeValue(节点值)
  • nodeType(节点类型)

nodeName

nodeName 属性含有某个节点的名称。

  • 元素节点的 nodeName 是标签名称
  • 属性节点的 nodeName 是属性名称
  • 文本节点的 nodeName 永远是 #text
  • 文档节点的 nodeName 永远是 #document

nodeValue

对于文本节点,nodeValue 属性包含文本。

对于属性节点,nodeValue 属性包含属性值。

nodeValue 属性对于文档节点和元素节点是不可用的。

nodeType

nodeType 属性可返回节点的类型。

元素 1
属性 2
文本 3
注释 8
文档 9

DOM树结构表现为不同种类的Node对象的一棵树。Node接口定义了遍历和操作树的属性和方法。Node对象的childNodes属性返回节点的孩子的一个列表,并且firstChild,lastChild,nextSibling,previousSiblingparentNode属性提供了遍历节点的树的一种方法。像appendChild(),removeChild(),replaceChild()insertBefore()

这样的方法能够向一个文档树中添加节点或者从一个文档树中移除节点。


DOM树的大部分节点是表示标记的Element对象和表示文本串的Text对象,用Element接口的getAttribute()方法,setAttribute()removeAttribute()方法可以查询,设置并删除一个元素的属性,设置属性时,不仅可以运用这种方式来设置属性:

var m=document.createElement("div");

 m.setAttribute("style","position:absolute;border:1px solid red;"+"left:"+x+"px;"+"top:"+y+"px;");

还可以运用这种方式来设置属性:

var m=document.createElement("div");
       m.style.position="absolute";
        m.style.border="1px solid red";      
        m.style.visibility="visible";

因为表示html属性的DOM元素定义了对应于每个标准属性的js属性


文本节点具有data属性,来获得文本,也可以使用appendData(), insertData(), deleteData()replaceData()方法在一个Text节点中附加,插入,删除或替换文本。


注意:1之前我在写代码时,错误的认为只要用createElement()方法创建的文档元素,就能自动加入到DOM树种,这是错误的,你用这个createElement()方法创建的只是一个文档节点或元素,你要让它成为这个文档的一部分,还是必须使用appendChild()将其加入到某节点中。

2.在 js中设置元素的class属性时,要注意是用className属性


给文档添加内容:document.createElement()和document.createTextNode()方法创建新的Element节点和Text 节点,但要知道元素节点的innerHTML属性,它可以做相当高效的事情,例如上面写的,完全可以这么简单的写:

 m.innerHTML="<span style='color:red;'>改变</span>";


相关文章推荐

项目总结—从零开始(4)

1.在使用struts时,页面中用的是form表单提交时,比如,那么提交时,action中得到的只是string类型,比如用的时间标签,按道理action中拿到的应该是date类型,但是拿到的是str...

项目总结—从零开始(5)

1.Jquery一些常用语句: jquery常用选择器: //在body内的选择 元素名是div 的子元素. $('#btn2').click(function(){ ...

从零开始高阶.Net Mvc5 EF6 WebApi2 Angular2项目开发(Ch01——1)

本系列文章主要教大家如何使用.Net 创建比较热门的Single Page Application,使用到了MVC5 EF6 Angular2 WebAPI2等较新技术,从浅入深,步步进阶。...

从零开始高阶.Net Mvc5 EF6 WebApi2 Angular2项目开发(Ch01——2)

本系列文章主要教大家如何使用.Net 创建比较热门的Single Page Application,使用到了MVC5 EF6 Angular2 WebAPI2等较新技术,从浅入深,步步进阶。...

从零开始的Android新项目6 - Repository层(下) Realm、缓存、异常处理

承接上篇 从零开始的Android新项目5 - Repository层(上) Retrofit、Repository组装,本文继续介绍Realm、缓存,以及统一的异常处理设计。RealmRealm在移...

从零开始学jBPM6(四)- 第一个项目HelloWorld

ps: 架构师交流群(QQ群号 304287620) 1 选择jBPM project 2 设置Runtime 3 选择引入例子与单元测试 4 运行并验证单元测试...
  • Jayron
  • Jayron
  • 2017年03月23日 16:38
  • 1118

从零开始—我的开源项目4:代码完善(上)

计划逐步完善这款软件,让不懂编程的用户也可以轻松使用。 模板篇: 针对设计中的1、2步骤 第一步:从目录中读取.xml模板文件,而不是将模板文件内置到代码项目中。 原代码中用 configure.se...

从零开始—我的开源项目7:GUI+判断哪些jar包是必须的依赖

想给程序增加一个可视化界面。从学习java开始,就一直没有怎么接触过gui编程,gui也确实被妖魔化、边缘化的比较严重。 简单查看了一些资料,发现对图像化的软件十分感兴趣,有些无法自拔的趋势。 一...

从零开始—我的开源项目5:代码完善(中)

既然使用的是csdn的博客,自然要给其来篇软文,多个广告啥的。 本项目已托管于https://code.csdn.net/代码托管平台,附git地址git://code.csdn.net/wangyu...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:项目总结—从零开始(6)
举报原因:
原因补充:

(最多只允许输入30个字)