Skip to content

Commit d9a3046

Browse files
authored
Create tq.js
1 parent beded20 commit d9a3046

File tree

1 file changed

+86
-0
lines changed

1 file changed

+86
-0
lines changed

tq.js

Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
2+
/*
3+
*#id .className 标签选择器
4+
* selector=选择器
5+
*/
6+
7+
// function $(selector)
8+
// {
9+
// var c=selector.substring(0,1);
10+
// if(c == '#')
11+
// {
12+
// return document.getElementById(selector.substring(1,selector.length));
13+
// }
14+
// }
15+
16+
/*
17+
*类选择器
18+
*语法 $(".class")
19+
*
20+
*/
21+
// function $(selector)
22+
// {
23+
// //判断浏览器是否支持getElementsByClassName
24+
// var className = selector.substring(1);
25+
// if(document.getElementsByClassName)
26+
// {
27+
// return document.getElementsByClassName(className);
28+
// }
29+
// else
30+
// {
31+
// //document.getElementsByTagName('*') +正则
32+
// var reg =new RegExp("\\s|^"+className+"\\s|$");
33+
// var elems = document.getElementsByTagName("*");
34+
// var arr=[];//保存获取到的 指定className 的元素
35+
// for(var i=0; i<elems.length;i++)
36+
// {
37+
// if(reg.test(elems[i].className))
38+
// {
39+
// arr.push(elems[i]);
40+
// }
41+
// return arr;
42+
// }
43+
// }
44+
45+
// }
46+
47+
/*
48+
*标签选择器
49+
*语法: $("element")
50+
*/
51+
// function $(element)
52+
// {
53+
// return document.getElementsByTagName(element);
54+
// }
55+
56+
var $=function(selector)
57+
{
58+
this.tqObject = new TQObject();
59+
if(selector.substring(0,1) == "#")
60+
{
61+
var elem = document.getElementById(selector.substring(1));
62+
this.tqObject.data.push(elem);
63+
}
64+
else if(selector.substring(0,1) == ".")
65+
{//类选择器 的操作
66+
var elems = document.getElementsByTagName('*');
67+
var reg = new RegExp("(^|\\s)"+selector.substring(1)+"($|\\s)");
68+
for(var i=0;i<elems.length;i++)
69+
{
70+
if(reg.test(elems[i].className))
71+
{
72+
this.tqObject.data.push(elems[i]);
73+
}
74+
}
75+
}
76+
else
77+
{
78+
var elems=document.getElementsByTagName(selector);
79+
this.tqObject.data=elems;
80+
}
81+
return tqObject;
82+
}
83+
var TQObject = function()
84+
{
85+
this.data=[];
86+
}

0 commit comments

Comments
 (0)