自己写了一个通过 className 获取 HTML 元素的函数,由于使用了正则匹配,所以支持读取多个 className,比如 getElementByClassName('Image|Picture','IMG') 可以获取 className 为 Image 或 Picture 的 IMG 元素。
- function getElementByClassName(cls,elm) {
- var arrCls =[];
- var seeElm = !mtLibs.IsNull(elm) ? elm : '*';
- var rexCls = new RegExp('(^|\\\\s)' + cls + '(\\\\s|$)','i');
- var lisElm = document.getElementsByTagName(seeElm);
- for (var i=0; i<lisElm.length; i++ ) {
- var evaCls = lisElm[i].className;
- if(evaCls.length > 0 && (evaCls == cls || rexCls.test(evaCls))) {
- arrCls.push(lisElm[i]);
- }
- }
- return arrCls;
- }
本日志由 Loveyuki 于 2008-03-06 10:51 发表,目前已经被浏览 701 次,评论 17 次;
作者添加了以下标签: Javascript;
引用通告:http://www.loveyuki.com/Article/54/Trackback.ashx
不知道你看过Sam Stephenson写的Prototype框架没有,对document的扩展getElementByClassName()方法被集成在里面!仔细看一下别人 是怎么写的,你就知道差别了!
Loveyuki 发表于 2008-03-06 21:44 #呵呵,相比较来说,我更喜欢 JQuery。不过对于只使用一点 JS 的站点来说,引入一个 20K 左右的框架很不划算。另外你可以看看我写的 Theme_Src.js 文件,里面有点 OO 的意思,不过不是那么明显。嘿嘿
Loveyuki 发表于 2008-03-06 22:02 #这个 BLOG 除了 Bin 里面的部分组件其他都是自己手写的代码,3月1号前面就是2月29号啊。上个月是灰色填充的。当然把字体颜色改一下可以让人看不到。至于万年历嘛,一个 BLOG 没啥必要吧。
Loveyuki 发表于 2008-03-11 09:12 #2008-03-11 08:55 by txink
呵呵! 看来检查通过了啊!
呵呵,通过没通过不知道,昨天说今天会把数据复制回来,早上随便连上 FTP 一看,吔,回来了!
Loveyuki 发表于 2008-03-11 09:13 #2008-03-11 09:07 by yanhe
网站恢复,恭喜呀,呵呵,怎么左下角还有广告了,恭喜呀。
呵呵,放点广告以表感谢。这么多年了 Coolair 帮我管理域名和空间费了不少心。oldcpu 一直以来对我也很支持,放个链接表示感谢……目前能做到的暂时就是这个了。
Loveyuki 发表于 2008-03-11 09:41 #2008-03-11 09:38 by txink
Loveyuki老师,为什么你的数据库中每个表都加了个INDEXES啊? 我不太明白,我觉得直接都可以用了啊,每个字段都加了INDEX不会影响sql语句执行的速度啊?望指点!
一般在需要排序和查询的字段建立索引,查询的速度会提升很多很多,唯一缺点就是插入速度会降低一些,不过一般的数据库应用都是查询操作远远多于插入操作的。一般建立索引都是在数字字段建立的,数据库大小膨胀也不会很多。