var regid = /^#([\w-]*)$/,
regClass = /^\.([\w-]*)$/,
regName = /^(div|a|p|ul|li|input|select|document|body|iframe)$/,
regWhite = /\s*/g;
//主要方法
function _B(name, doc) {
var selector, match, result = [];
var doctemp;
if (doc) {
doctemp = (typeof doc == "object" && doc.length > 0 && doc[0] && doc[0].nodeType || doc && doc.nodeType) ? doc : _B(doc);
} else {
doctemp = document;
}
selector = name && name.replace(regWhite, "");
if (selector) {
match = regid.exec(selector);
if (match && match[1]) {
result = document.getElementById(match[1]);
}
match = regClass.exec(selector);
if (match && match[1]) {
var elems = doctemp.getElementsByTagName("*");
var len = elems && elems.length || 0;
for (var i = 0; i < len; i++) {
var currentelem = elems[i];
var classlist = currentelem.className.split(/\s+/);
var classlen = classlist.length;
for (var j = 0; j < classlen; j++) {
if (classlist[j] == match[1]) {
result.push(currentelem);
break;
}
}
}
}
match = regName.exec(selector);
if (match && match[1]) {
result = doctemp.getElementsByTagName(match[1]);
}
}
return result ? result : null;
}

支持_B("#id")  _B(".class")  _B("div")    _B("#id",dom)   _B(".class",dom)   _B("div" ,dom) dom默认是document

一个简单的dom查询函数的更多相关文章

  1. C++ 容器的综合应用的一个简单实例——文本查询程序

    C++ 容器的综合应用的一个简单实例——文本查询程序 [0. 需求] 最近在粗略学习<C++ Primer 4th>的容器内容,关联容器的章节末尾有个很不错的实例.通过实现一个简单的文本查 ...

  2. SQL点滴3—一个简单的字符串分割函数

    原文:SQL点滴3-一个简单的字符串分割函数 偶然在电脑里看到以前保存的这个函数,是将一个单独字符串切分成一组字符串,这里分隔符是英文逗号“,”  遇到其他情况只要稍加修改就好了 CREATE FUN ...

  3. 记一个简单的sql查询

    在我们做各类统计和各类报表的时候,会有各种各样的查询要求.条件 这篇主要记录一个常见的统计查询 要求如下: 统计一段时间内,每天注册人数,如果某天没有人注册则显示为0 现在建个简单的表来试试 建表语句 ...

  4. 一个简单的java回调函数的实现

    回调函数 回调函数涉及的3个函数 登记回调函数 回调函数 响应回调函数 简单的解释 你到一个商店买东西,刚好你要的东西没有货,于是你在店员那里留下了你的电话.过了几天店里有货了,店员就打了你的电话,然 ...

  5. klee 测试一个简单的正则表达式匹配函数

    函数源代码位于 klee源码 的examples/regexp文件夹下面:c程雪源码文件名为  Regexp.c First Step: 使用clang编译器将c源代码转化为llvm位码形式.如果你的 ...

  6. 一个简单的jQuery回调函数例子

    jQuery回调函数简单使用 比如说,我们想要点击某个按钮后触发事件, 先把一些指定内容给隐藏掉, 然后跳出相关信息的对话框. 如果使用普通的方法, 不用回调函数的话, 会有怎么样的效果呢? 效果是先 ...

  7. 一个简单的数据查询显示jsp

    以前使用jstl标签库只是使用core来显示一些数据,非常方便,今天看了下发现jstl还有其他的标签,使用都非常方便, 1.sql标签,可以直接访问数据库,后台代码都不需要了,这在某些时候非常适合使用 ...

  8. 一个简单的sel server 函数的自定义

    创建自定义函数:use 数据库名gocreate function 函数名(@pno int)returns intasbegin  declare @a int   if not exists(se ...

  9. 一个简单的servlet查询

    首先创建一个dynamic web project. 写一个test.jsp: 新建一个servlet: 新建一个student.jsp: 显示如图:

随机推荐

  1. POJ 3579- Median

     Description Given N numbers, X1, X2, ... , XN, let us calculate the difference of every pair of n ...

  2. 操作系统学习笔记_12_I/O管理 --I/O管理概述

    h1 { margin-bottom: 0.21cm; }h1.western { font-family: "Liberation Sans",sans-serif; font- ...

  3. HDU 3081 Marriage Match II(二分法+最大流量)

    HDU 3081 Marriage Match II pid=3081" target="_blank" style="">题目链接 题意:n个 ...

  4. 获得span里面价值(在特殊情况下 )

    如何获得A? <div class="warpper"> <span class="content"> A <span>12 ...

  5. Installing IIS 8.5 on Windows Server 2012 R2

    原文 Installing IIS 8.5 on Windows Server 2012 R2 Introduction This document describes how to install ...

  6. nodejs中使用monk訪问mongodb

    mongodb 安装mongodb 我认为还是用mannual install靠谱一点儿:http://docs.mongodb.org/manual/tutorial/install-mongodb ...

  7. 查询(Query)和标识(Identify)

    查询(Query)和标识(Identify) 相关文章:RESTful API URI 设计的一些总结. 问题场景:删除一个资源(Resources),URI 该如何设计? 应用示例:删除名称为 iP ...

  8. freemarker 空白处理

    1 一个简短的引论 HTML 和 XML 都不是对空白敏感的,可是这么多多余的空白是非常令人头疼的,并且添加处理后的 HTML 文件大小也是不是必需的.当然,对于空白敏感的方式的输出这依然是个大问题. ...

  9. WebApi的一种集成测试写法(in-memory)

    WebApi的一种集成测试写法(in-memory)   大家是如何对webApi写测试的呢? 1.利用Fiddler直接做请求,观察response的内容. 2.利用Httpclient做请求,断言 ...

  10. SQL Server编程系列(2):SMO常用对象的有关操作

    原文:SQL Server编程系列(2):SMO常用对象的有关操作 在上一篇周公简单讲述了SMO的一些基本概念,实际上SMO体系结构远不止周公在上一篇中讲述的那么简单,下图是MSDN上给出的一个完整的 ...