[js高手之路] 我的开源javascript框架gdom - 选择器用法

gdom框架是我开发的一款dom和字符串处理框架,目前版本是1.0.0. 使用方法跟jquery是差不多的, 会用jquery就会用gdom,目前 1.0.0版本的选择器完全支持CSS3选择器.没有做IE的低版本兼容。

gdom下载地址:https://github.com/ghostwu/gdom

gdom选择器有两种写法: G( 选择器 ) 和 $( 选择器 )

gdom的加载: G( function(){} )    $( function() {} );

公用css文件: common.css

 1 * {
 2     margin: 0;
 3     padding: 0;
 4 }
 5 ul,li {
 6     list-style-type:none;
 7 }
 8 div,p {
 9     padding: 10px;
10     margin: 10px;
11     border: 1px solid #ccc;
12 }
13 a {
14     text-decoration: none;
15 }

加载库文件与css文件( 请根据实际情况调整路径加载):

1     <script src="../lib/gdom1.0.0.js"></script>
2     <link rel="stylesheet" href="../css/common.css">

下面列举部分常见的用法:

1、基本选择器( id, class, 元素 )

html代码:

1     <div id="box">test is a test</div>
2     <div class="box">this is a test</div>
3     <div class="box">this is a test</div>
4     <div>this is a test</div>

javascript代码:

1 <script>
2         G(function(){
3             // $("#box").css( "border", "1px solid #09f" );
4             // $(".box").css( "border", "1px solid #09f" );
5             G("div").css( "border", "1px solid #09f" );
6         });
7 </script>

2、后代,子代选择器

html代码

1 <div id="box">
2         <p>gdom是一个dom处理和字符串处理的框架,作者:ghostwu</p>
3         <p>gdom是一个dom处理和字符串处理的框架,作者:ghostwu</p>
4         <p>gdom是一个dom处理和字符串处理的框架,作者:ghostwu</p>
5     </div>
6     <p>gdom是一个dom处理和字符串处理的框架,作者:ghostwu</p>
7     <p>gdom是一个dom处理和字符串处理的框架,作者:ghostwu</p>

javascript代码

1 <script>
2         G(function(){
3             G("body p").css( "border", "2px solid #09f" );
4             // G("body > p").css( "border", "2px solid #09f" );
5         });
6     </script>

3、属性选择器

html代码

<div id="box">gdom是一个dom处理和字符串处理的框架,作者:ghostwu</div>
    <div id="box2" class="desc">gdom是一个dom处理和字符串处理的框架,作者:ghostwu</div>
    <div id="box2" class="desc" data-target="abc">gdom是一个dom处理和字符串处理的框架,作者:ghostwu</div>
    <div id="box2" class="desc1 desc2 desc3" data-target="abc">gdom是一个dom处理和字符串处理的框架,作者:ghostwu</div>

javascript代码

 1 <script>
 2         G(function(){
 3             // G( "[id]" ).css( "border", "1px solid #09f" );
 4             // G( "[id][class]" ).css( "border", "1px solid #09f" );
 5             // G( "[data-target]" ).css( "border", "1px solid #09f" );
 6             // G( "[class*=desc]" ).css( "border", "1px solid #09f" );
 7             // G( "[class^=desc]" ).css( "border", "1px solid #09f" );
 8             G( "[class$=desc]" ).css( "border", "1px solid #09f" );
 9         });
10     </script>

4、过滤选择器

javascript代码

1 <script>
2         G(function(){
3             // G( "div:nth-child(1)").css( "border", "1px solid #09f" );
4             // G( "div:nth-of-type(1)").css( "border", "1px solid #09f" );
5             G( "div p:nth-of-type(1)" ).css( "border", "1px solid #09f" );
6         });
7     </script>

html代码

 1 <p>gdom是一个dom处理和字符串处理的框架,作者:ghostwu</p>
 2     <div>
 3         <p>gdom是一个dom处理和字符串处理的框架,作者:ghostwu</p>
 4         <p>gdom是一个dom处理和字符串处理的框架,作者:ghostwu</p>
 5     </div>
 6     <div>
 7         <p>gdom是一个dom处理和字符串处理的框架,作者:ghostwu</p>
 8         <p>gdom是一个dom处理和字符串处理的框架,作者:ghostwu</p>
 9     </div>
10     <div>
11         <p>gdom是一个dom处理和字符串处理的框架,作者:ghostwu</p>
12         <p>gdom是一个dom处理和字符串处理的框架,作者:ghostwu</p>
13     </div>
时间: 2024-08-09 06:24:14

[js高手之路] 我的开源javascript框架gdom - 选择器用法的相关文章

[js高手之路]一步步图解javascript的原型(prototype)对象,原型链

我们接着上文继续,我们通过原型方式,解决了多个实例的方法共享问题,接下来,我们就来搞清楚原型(prototype),原型链的来龙去脉. function CreateObj(uName) {             this.userName = uName;         }         CreateObj.prototype.showUserName = function(){             return this.userName;         }         va

[js高手之路]Node.js实现简易的爬虫-抓取博客所有文章列表信息

抓取目标:就是我自己的博客:http://www.cnblogs.com/ghostwu/ 需要实现的功能: 抓取博客所有的文章标题,超链接,文章摘要,发布时间 需要用到的库: node.js自带的http库 第三方库:cheerio,这个库就是用来处理dom节点的,他的用法几乎跟jquery用法一模一样,所以有了这个利器,写一个爬虫就非常简单 准备工作: 1,npm init --yes 初始化package.json 2,安装cheerio:npm install cheerio --sav

[js高手之路]原型对象(prototype)与原型链相关属性与方法详解

一,instanceof: instanceof检测左侧的__proto__原型链上,是否存在右侧的prototype原型. 我在之前的两篇文章 [js高手之路]构造函数的基本特性与优缺点 [js高手之路]一步步图解javascript的原型(prototype)对象,原型链 已经分享过了. function CreateObj(uName) {             this.userName = uName;             this.showUserName = function

[js高手之路]从原型链开始图解继承到组合继承的产生

于javascript原型链的层层递进查找规则,以及原型对象(prototype)的共享特性,实现继承是非常简单的事情 一.把父类的实例对象赋给子类的原型对象(prototype),可以实现继承 1 function Person(){ 2 this.userName = 'ghostwu'; 3 } 4 Person.prototype.showUserName = function(){ 5 return this.userName; 6 } 7 function Teacher (){}

[js高手之路] html5 canvas动画教程 - 实时获取鼠标的当前坐标

有了前面的canvas基础之后,现在开始就精彩了,后面写的canvas教程都是属于综合应用,前面已经写了常用的canvas基础知识,参考链接如下: [js高手之路] html5 canvas系列教程 - 认识canvas以及基本使用方法 [js高手之路] html5 canvas系列教程 - 掌握画直线图形的常用API [js高手之路] html5 canvas系列教程 - 开始路径beginPath与关闭路径closePath详解 [js高手之路] html5 canvas系列教程 - arc

[js高手之路]Node.js+jade+express+mongodb+mongoose+promise实现todolist

promise主要是用来解决异步回调问题,其实还有好几种比promise更好的方案,后面再说,这节,我们先用promise来改造下,我以前写的一篇文章[js高手之路]javascript腾讯面试题学习封装一个简易的异步队列 中的一道面试题( 页面上有一个按钮,一个ul,点击按钮的时候,每隔1秒钟向ul的后面追加一个li, 一共追加10个,li的内容从0开始技术( 0, 1, 2, ....9 ) ). promise的小实例: 1 function next1(){ 2 return new P

[js高手之路]Node.js+jade+mongoose实战todolist(分页,ajax编辑,删除)

该系列文章索引: [js高手之路]node js系列课程-创建简易web服务器与文件读写 [js高手之路]node js系列课程-图解express+supervisor+ejs用法 [js高手之路]Node.js实现简易的爬虫-抓取博客所有文章列表信息 [js高手之路]Node.js模板引擎教程-jade速学与实战1-基本用法 [js高手之路]Node.js模板引擎教程-jade速学与实战2-流程控制,转义与非转义 [js高手之路]Node.js模板引擎教程-jade速学与实战3-mixin

[js高手之路] es6系列教程 - promise常见用法详解(resolve,reject,catch,then,all,race)

关于promise我在之前的文章已经应用过好几次,如[js高手之路]Node.js+jade+express+mongodb+mongoose+promise实现todolist,本文就来讲解下promise的常见用法. 为什么会有promise,他的作用是什么? promise主要是为了解决js中多个异步回调难以维护和控制的问题. 什么是promise? 从图中,我们可以看出,Promise是一个函数,这个函数上有在项目中常用的静态方法:all, race, reject,resolve等,原

[js高手之路]设计模式系列课程-发布者,订阅者重构购物车

发布者订阅者模式,是一种很常见的模式,比如: 一.买卖房子 生活中的买房,卖房,中介就构成了一个发布订阅者模式,买房的人,一般需要的是房源,价格,使用面积等信息,他充当了订阅者的角色 中介拿到卖主的房源信息,根据手头上掌握的客户联系信息(买房的人的手机号),通知买房的人,他充当了发布者的角色 卖主想卖掉自己的房子,就需要告诉中介,把信息交给中介发布 二,网站订阅信息的用户 订阅者角色:需要订阅某类信息的网民,如某个网站的javascript类型文章 发布者角色:邮箱服务器,根据网站收集到的用户订