一些JS、jQuery、DOM操作细节

JQuery选择器
元素选择器:JQuery 使用CSS选择器来选取HTML元素。
属性选择器:用 XPath 表达式来选择带有给定属性的元素。
CSS选择器:用于改变 HTML 元素的 CSS 属性。

JSON:JavaScript对象表示法
 JavaScript?Object?Notation
优点:减轻服务器的负担,按需取数据,最大程度的减少冗余请求
局部刷新页面,减少用户心理和实际的等待时间,带来更好的用户体验
基于xml标准化,并被广泛支持,不需安装插件等
进一步促进页面和数据的分离
缺点:AJAX大量的使用了javascript和ajax引擎,这些取决于浏览器的支持.在编写的时候考虑对浏览器的兼容性.
AJAX只是局部刷新,所以页面的后退按钮是没有用的.对流媒体还有移动设备的支持不是太好等

JS BOM和DOM 操作 增删改查
查:获取,包括Bom对象和Dom对象及相关属性的获取

JavaScript 是脚本语言。浏览器会在读取代码时,逐行地执行脚本代码。而对于传统编程来说,会在执行前对所有代码进行编译。
JS是动态类型语言,因为变量可有不同的数据类型。
在 JavaScript 中,对象是拥有属性和方法的数据。

ECMAScript 有 5 种原始类型(primitive type),即 Undefined、Null、Boolean、Number 和 String。

object - 如果变量是一种引用类型或 Null 类型的
注释:您也许会问,为什么 typeof 运算符对于 null 值会返回 "Object"。这实际上是 JavaScript 最初实现中的一个错误,然后被 ECMAScript 沿用了。现在,null 被认为是对象的占位符,从而解释了这一矛盾,但从技术上来说,它仍然是原始值。null和undefined尽管这两个值相等,但它们的含义不同。undefined 是声明了变量但未对其初始化时赋予该变量的值,null 则用于表示尚未存在的对象(在讨论 typeof 运算符时,简单地介绍过这一点)。如果函数或方法要返回的是对象,那么找不到该对象时,返回的通常是 null。


alert(NaN == NaN);  //输出 "false"
出于这个原因,不推荐使用 NaN 值本身。函数 isNaN() 会做得相当好:

alert(isNaN("blue"));  //输出 "true"
alert(isNaN("666"));  //输出 "false"



JavaScript 变量的生存期
JavaScript 变量的生命期从它们被声明的时间开始。
局部变量会在函数运行以后被删除。
全局变量会在页面关闭后被删除。


<input type="button" value="隐藏文本" onclick="document.getElementById('p1').style.visibility='hidden'" />
<input type="button" value="显示文本" onclick="document.getElementById('p1').style.visibility='visible'" />


RegExp 对象的方法
RegExp 对象有 3 个方法:test()、exec() 以及 compile()。


浏览器对象模型BOM browser object model
包括以下对象:
JS Window
JS Screen
JS Location
JS History
JS Navigator    window.navigator 对象包含有关访问者浏览器的信息。
警告:来自 navigator 对象的信息具有误导性,不应该被用于检测浏览器版本,这是

因为:
navigator 数据可被浏览器使用者更改
浏览器无法报告晚于浏览器发布的新操作系统
*浏览器检测
JS PopupAlert
JS Timing
*:1000 毫秒等于一秒。
JS Cookies

JS框架:
jQuery
Prototype
MooTools
所有这些框架都提供针对常见 JavaScript 任务的函数,包括动画、DOM 操作以及 Ajax 处理。

由于 jQuery 是为处理 HTML 事件而特别设计的,那么当您遵循以下原则时,您的代码会更恰当且更易维护:
把所有 jQuery 代码置于事件处理函数中
把所有事件处理函数置于文档就绪事件处理器中
把 jQuery 代码置于单独的 .js 文件中
如果存在名称冲突,则重命名 jQuery 库

提示:可以用 animate() 方法来操作所有 CSS 属性吗?
是的,几乎可以!不过,需要记住一件重要的事情:当使用 animate() 时,必须使用

Camel 标记法书写所有的属性名,比如,必须使用 paddingLeft 而不是 padding-

left,使用 marginRight 而不是 margin-right,等等。


jQuery width() 和 height() 方法
width() 方法设置或返回元素的宽度(不包括内边距、边框或外边距)。
height() 方法设置或返回元素的高度(不包括内边距、边框或外边距)。
jQuery innerWidth() 和 innerHeight() 方法
innerWidth() 方法返回元素的宽度(包括内边距)。
innerHeight() 方法返回元素的高度(包括内边距)。
jQuery outerWidth() 和 outerHeight() 方法
outerWidth() 方法返回元素的宽度(包括内边距和边框)。
outerHeight() 方法返回元素的高度(包括内边距和边框)。
outerWidth(true) 方法返回元素的宽度(包括内边距、边框和外边距)。
outerHeight(true) 方法返回元素的高度(包括内边距、边框和外边距)。

在 DOM 树中水平遍历
有许多有用的方法让我们在 DOM 树进行水平遍历:
siblings()
next()
nextAll()
nextUntil()
prev()
prevAll()
prevUntil()
向下遍历 DOM 树
下面是两个用于向下遍历 DOM 树的 jQuery 方法:
children()
find()

向上遍历 DOM 树
这些 jQuery 方法很有用,它们用于向上遍历 DOM 树:
parent()
parents()
parentsUntil()

nodetype的取值
元素节点
    
节点类型取值(nodeType)
元素element
1
属性attr
2
文本text
3
注释comments
8
文档document
9

你可能感兴趣的:(一些JS、jQuery、DOM操作细节)