易截截图软件、单文件、免安装、纯绿色、仅160KB

javascript 选择器简明教程

本来准备开讲jQuery源码学习笔记六的,但心中有佛才能看到佛,有些人连选择器都不知什么东西,直接讲下去,估计有人会看得云里雾里,满头雾水了。加之,John Resig有一种把代码写得不知所云的魔力,他拥有强大的驭驾代码的实力,他自己看当然没问题,其他人则要命了。常常是一句代码调用几个方法,每个方法相隔几十行甚至上百行,而且这些方法还常常是幌子,真正做事是其他代码。这样盘根错节的代码与Base2有得一拼。最后,选择器本身也是非常复杂的东西,有必须独立提出来说一下。
选择器其实早已实现,不过都是一些不起眼但超常用的方法:getElementById,getElementsByName,getElementsByTagName。但外国人不满意这些API,于是搞出了getElementsByClassName,进而是getElementsBySelector,支持当时已公布的所有CSS2.1选择符!然后Prototype用一个$与一个$$把它们统括起来。之所以这样,其动机显然易见,如果返回一个就不用索引号去取了!像jQuery那样无论是返回多少个,反正都包裹在jQuery对象,都要用索引号或get方法把真正DOM元素取出来,因此用不用$$都差不多,于是$统一天下!
但这个包打天下的选择器其实包括多少东西呢?细算一下,ID选择器,标签选择器,联合选择器,属性选择器,关系选择器与伪类选择器。ID选择器,就是以#开头的,标签选择器就是tagName,联合选择器就是那个逗号,属性选择器就是用中括号括起来的字段,里面也非常复杂,可以单纯只有属性名,不用属性值,如果有属性值,又分好几种情况匹配(详见我的另一篇博文《getElementsByAttribute》)。像getElementsByName应该归并于属性选择器,因为name也是一个属性。关系选择符又细分为四个:兄长(~),亲子(>),相邻(+)与后代(空格)。伪类选择器的成员非常庞大,因为CSS3新添加的这些伪类选择符也是如此。除了伪元素选择符与页面伪类与链接伪类等少量无法转换为选择器外,其他基本都能。这些符合资格的伪类有目标伪类,结构伪类,语言伪类与UI状态伪类。语言伪类与UI状态伪类与属性选择符很相近,因此实现手段也一致。目标伪类我们可以通过截取地址栏上的参数,用IE选择器搞定。结构伪类则又是个大家族,分为两派:root与其他。:root就是根节点documentElement。其他都可以统称这子元素过滤器,我们可以根据顺序(nth-child)来筛选,可以根据类型来选(only-of-type),又可以组合类型与顺序来选,还可以根据元素里面有没有内容来选(empty),里面还有一些变种,如那些


相关文档:

JavaScript 获取对象的高度和宽度详细说明

scrollHeight: 获取对象的滚动高度。
scrollLeft:设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离
scrollTop:设置或获取位于对象最顶端和窗口中可见内容的最顶端之间的距离
scrollWidth:获取对象的滚动宽度
offsetHeight:获取对象相对于版面或由父坐标 offsetParent 属性指定的父坐标的高度
offsetL ......

Google 排名中的 10 个最著名的 JavaScript 库

ugmbbc发布于 2009-11-14 09:41:43| 7628 次阅读 字体:大 小 打印预览
var ReTitle = '回复:Google 排名中的 10 个最著名的 JavaScript 库';
感谢COMSHARP CMS的投递
新闻来源:tripwiremagazine.com
JavaScript 是 Web 开发与设计中不可或缺的东西,不管是一个简单的网页还是一个专业的站点,也不管你是高手还是菜鸟 ......

JavaScript字符串中的字符数组

源程序: 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html>
 <head>
  <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
  <title>JavaScript字符串中的字符数组&l ......

JavaScript 拖放效果

一个可拖放的JS效果;
 var isIE = (document.all) ? true : false;
var $ = function (id) {
return "string" == typeof id ? document.getElementById(id) : id;
};
var Class = {
create: function() {
return function() { this.initialize.apply(this, arguments); }
}
}
var Extend = function( ......

面向对象的编程思想在javascript中的运用(上)

 本博客转载于:http://www.cnblogs.com/yage/archive/2009/11/20/1607220.html
 
对于正在从事或者打算从事编程的人来说,面向对象是一个耳熟能详的词,几乎每一个人都能列举出一些面向对象的编程语言,例如
C++,
JAVA,
C#等等。其实,面向对象的思想是独立于编程语言的,例如在
C#中,在一个静态类的静 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号