1选择器

1.1说明

选择器本身只是一个有特定语法规则的字符串, 没有实质用处,它的基本语法规则使用的就是CSS的选择器语法, 并对基进行了扩展,只有调用$(), 并将选择器作为参数传入才能起作用。

$(selector)作用 :根据选择器规则在整个文档中查找所有匹配的标签的数组(伪数组), 并封装成jQuery对象返回

1.2分类

1)选择器是什么?

* 有特定语法规则(css选择器)的字符串

* 用来查找某个/些DOM元素: $(selector)

2)分类

①基本

* #id  id选择器

*element(标签名) 元素选择器

*  * 任意标签

* .class 属性选择器

* selector1,selector2,selector3  取多个选择器的并集(组合选择器)

* selector1selector2selector3取多个选择器的交集(相交选择器)

②层次

*查找子元素, 后代元素, 兄弟元素的选择器

* selector1>selector2(parent > child): 子元素,在给定的父元素下的子元素中匹配元素

* selector1 selector2(ancestor descendant): 后代元素,在给定的祖先元素下的后代元素中匹配元素

* selector1+selector2(prev + next):匹配所有紧接在prev元素后的next元素。不常用

* selector1~selector2(prev ~ siblings):匹配prev(前面的)元素之后的所有siblings(兄弟姐妹)元素。不常用

③过滤

* 在原有匹配元素中筛选出其中一些(分为基本、内容、可见性、属性三类)

* :first

* :last

* :eq(index)

* :lt

* :gt

* :odd

* :even

* :not(selector)

* :hidden

* :visible

* [attrName]

* [attrName=value]

④表单

* :input

* :text

* :checkbox

* :radio

* :checked: 选中的

基本选择器:

<body>
<div id="div1" class="box">div1(class="box")</div>
<div id="div2" class="box">div2(class="box")</div>
<div id="div3">div3</div>
<span class="box">span(class="box")</span>
<br>
<ul>
  <li>AAAAA</li>
  <li title="hello">BBBBB(title="hello")</li>
  <li class="box">CCCCC(class="box")</li>
  <li title="hello">DDDDDD(title="hello")</li>
</ul>
 
<script src="js/jquery-1.10.1.js" type="text/javascript"></script>
<script type="text/javascript">
 
//1. 选择id为div1的元素
  
$('#div1').css('background', 'red')
  //2. 选择所有的div元素
  
$('div').css('background', 'red')
  //3. 选择所有class属性为box的元素
 
$('.box').css('background', 'red')
  //4. 选择所有的div和span元素
  
$('div,span').css('background', 'red')
  //5. 选择所有class属性为box的div元素
 
$('div.box').css('background', 'red')
  $('*').css('background', 'red')
</script>
</body>

层次选择器:

<body>
<ul>
  <li>AAAAA</li>
  <li class="box">CCCCC</li>
  <li title="hello"><span>BBBBB</span></li>
  <li title="hello"><span class="box">DDDD</span></li>
  <span>EEEEE</span>
</ul>
<script src="js/jquery-1.10.1.js" type="text/javascript"></script>
<script type="text/javascript">
//1.
选中ul下所有的的span
 
$('ul span').css('background', 'yellow')
//2. 选中ul下所有的子元素span
 
$('ul>span').css('background', 'yellow')
//3. 选中class为box的下一个li
 
$('.box+li').css('background', 'yellow')
//4. 选中ul下的class为box的元素后面的所有兄弟元素
$('ul .box~*').css('background', 'yellow')
</script>
</body>

过滤选择器:

<body>
<div id="div1" class="box">class为box的div1</div>
<div id="div2" class="box">class为box的div2</div>
<div id="div3">div3</div>
<span class="box">class为box的span</span>
<br/>
<ul>
  <li>AAAAA</li>
  <li title="hello">BBBBB</li>
  <li class="box">CCCCC</li>
  <li title="hello">DDDDDD</li>
  <li title="two">BBBBB</li>
  <li style="display:none">我本来是隐藏的</li>
</ul>
<script src="js/jquery-1.10.1.js" type="text/javascript"></script>
<script type="text/javascript">
  //1. 选择第一个div
  
$('div:first').css('background', 'red')
  //2. 选择最后一个class为box的元素
 
$('.box:last').css('background', 'red')
  //3. 选择所有class属性不为box的div
  
$('div:not(.box)').css('background', 'red'//没有class属性也可以
  //4. 选择第二个和第三个li元素
  //
$('li:gt(0):lt(3)').css('background', 'red') // 多个过滤选择器不是同时执行, 而是依次

$('li:gt(0):lt(2)').css('background', 'red') // 多个过滤选择器不是同时执行, 而是依次
 
$('li:lt(3):gt(0)').css('background', 'red')
  //5. 选择内容为BBBBB的li
  
$('li:contains("BBBBB")').css('background', 'red')
  //6. 选择隐藏的li
  
console.log($('li:hidden').length, $('li:hidden')[0])
  //7. 选择有title属性的li元素
  
$('li[title]').css('background', 'red')
  //8. 选择所有属性title为hello的li元素
 
$('li[title="hello"]').css('background', 'red')
</script>
</body>

表单选择器:

<body>
<form>
  用户名: <input type="text"/><br>
  密 码: <input type="password"/><br>
  爱 好:
  <input type="checkbox" checked="checked"/>篮球
  <input type="checkbox"/>足球
  <input type="checkbox" checked="checked"/>羽毛球 <br>
  性 别:
  <input type="radio" name="sex" value='male'/>男
  <input type="radio" name="sex" value='female'/>女<br>
  邮 箱: <input type="text" name="email" disabled="disabled"/><br>
  所在地:
  <select>
    <option value="1">北京</option>
    <option value="2" selected="selected">天津</option>
    <option value="3">河北</option>
  </select><br>
  <input type="submit" value="提交"/>
</form>
<script src="js/jquery-1.10.1.js" type="text/javascript"></script>
<script type="text/javascript">
  //1.
选择不可用的文本输入框
  
$(':text:disabled').css('background', 'red')
  //2. 显示选择爱好 的个数
 
console.log($(':checkbox:checked').length)
  //3. 显示选择的城市名称
 
$(':submit').click(function () {
    var city = $('select>option:selected').html() // 选择的option的标签体文本
   
city = $('select').val()  // 选择的option的value属性值
   
alert(city)
  })
</script>
</body>

2工具

$.each(): 遍历数组或对象中的数据

$.trim(): 去除字符串两边的空格

$.type(obj): 得到数据的类型

$.isArray(obj): 判断是否是数组

$.isFunction(obj): 判断是否是函数

$.parseJSON(json) : 解析json字符串转换为js对象/数组

···

<script src="js/jquery-1.10.1.js" type="text/javascript"></script>
<script type="text/javascript">
  //1. $.each(): 遍历数组或对象中的数据
 
var obj = {
    name: 'Tom',
    setName: function (name) {
      this.name = name
    }
  }
  $.each(obj, function (key, value) {
    console.log(key, value)
  })
 
  //2. $.trim(): 去除字符串两边的空格
  //3. $.type(obj): 得到数据的类型
 
console.log($.type($)) // 'function'
  //4. $.isArray(obj):
判断是否是数组
 
console.log($.isArray($('body')), $.isArray([])) // false true
  //5. $.isFunction(obj):
判断是否是函数
 
console.log($.isFunction($)) // true
  //6. $.parseJSON(json) :
解析json字符串转换为js对象/数组
 
var json = '{"name":"Tom", "age":12}'  // json对象: {}
  // json对象===>JS对象
 
console.log($.parseJSON(json))
  json = '[{"name":"Tom", "age":12}, {"name":"JACK", "age":13}]' // json数组: []
  // json数组===>JS数组
 
console.log($.parseJSON(json))
  /*
  JSON.parse(jsonString)   json
字符串--->js对象/数组
  JSON.stringify(jsObj/jsArr)  js对象/数组--->json字符串
  */
</script>

使用jQuery函数的更多相关文章

  1. jquery 函数大全

    jquery函数大全转载  Attribute:$(”p”).addClass(css中定义的样式类型); 给某个元素添加样式$(”img”).attr({src:”test.jpg”,alt:”te ...

  2. jQuery 函数位于一个 document ready 函数中

    在我们的实例中的所有 jQuery 函数位于一个 document ready 函数中: $(document).ready(function(){ --- jQuery functions go h ...

  3. jquery函数写法

    普通jquery函数写法 <script src="http://code.jquery.com/jquery-1.11.1.min.js"></script&g ...

  4. 2016/2/26 jQuery的技术 1,安装 2,语法选择器$ 事件触发 3,常用jQuery函数

    在<网页制作Dreamweaver(悬浮动态分层导航)>中,运用到了jQuery的技术,轻松实现了菜单的下拉.显示.隐藏的效果,不必再用样式表一点点地修改,省去了很多麻烦,那么jQuery ...

  5. jquery06 jQuery.extend 给jQuery函数添加、继承 静态方法

    <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content ...

  6. jQuery函数与对象(一)

    一.jQuery函数jQuery函数的两种表现形式:1.jQuery()2.$()说明:在jQuery中使用jQuery()与$()是等价的,一般情况下均使用$() jQuery函数中可以存放的四种参 ...

  7. 每天记一些php函数,jQuery函数和linux命令(三)

    简介:学习完了php和jQuery之后,对函数的记忆不到位,导致很多函数没记住,所以为了促进自己的记忆,每天花一点时间来写这个博客. 时间:2016-12-21   地点:太原    天气:雨夹雪 一 ...

  8. 每天记一些php函数,jQuery函数和linux命令(二)

    简介:学习完了php和jQuery之后,对函数的记忆不到位,导致很多函数没记住,所以为了促进自己的记忆,每天花一点时间来写这个博客. 时间:2016-12-19   地点:太原    天气:晴 一.p ...

  9. 每天记一些php函数,jQuery函数和linux命令(一)

    简介:学习完了php和jQuery之后,对函数的记忆不到位,导致很多函数没记住,所以为了促进自己的记忆,每天花一点时间来写这个博客. 时间:2016-12-18    地点:太原    天气:晴 一. ...

  10. javascript、jQuery函数定义和调用方法

    一.javascript 1.var aaa=function(){...} var 方式定义的函数,不能先调用函数,后声明,只能先声明函数,然后调用. 2.function aaa(){...} f ...

随机推荐

  1. androidstudio 2.3.3 jni过程汇总(2):2、使用so文件

    2.使用so文件 1.在java文件中System.loadLibrary加载包,并且引入native方法. 2.在app/src/main/下新建jniLibs文件夹,将so包带arm文件夹形式导入 ...

  2. Java的类加载器都有哪些,每个类加载器都有加载那些类,什么是双亲委派模型,是做什么的?

    类加载器按照层次,从顶层到底层,分为以下三种: (1)启动类加载器(Bootstrap ClassLoader) 这个类加载器负责将存放在JAVA_HOME/lib下的,或者被-Xbootclassp ...

  3. master挂了的话pm2怎么处理 使用pm2方便开启node集群模式

    本文为转载 Introduction As you would probably know, Node.js is a platform built on Chrome's JavaScript ru ...

  4. 通过实例详细讲解PHP垃圾回收机制

    PHP垃圾回收机制:1. PHP可以自动进行内存管理,清除不需要的对象,主要使用了引用计数2. 在zval结构体中定义了ref_count和is_ref , ref_count是引用计数 ,标识此zv ...

  5. nginx自动切割日志脚本

    #!/bin/bash savepath_log='/data/logs' nglogs='/data/logs' mkdir -p $savepath_log/$(date +%Y)/$(date ...

  6. redis - 环境搭建(转)

      一:简介(来自百科) redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合)和zse ...

  7. NLP(一) Python常用开发工具

    一.Numpy NumPy系统是Python的一种开源的数值计算包. 包括: 1.一个强大的N维数组对象Array: 2.比较成熟的(广播)函数 库: 3.用于整合C/C++和Fortran代码的工具 ...

  8. 1242 斐波那契数列的第N项

    1242 斐波那契数列的第N项  基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题   斐波那契数列的定义如下:   F(0) = 0 F(1) = 1 F(n) = F( ...

  9. PowerDesigner(数据库迁移)

    PowerDesigner:导出SQL脚本以及问题解决在PowerDesigner中点击DataBase -----------> Generate Datebase -----(可以点击Pre ...

  10. Dubbo入门到精通学习笔记(二):Dubbo管理控制台、使用Maven构建Dubbo的jar包、在Linux上部署Dubbo privider服务(shell脚本)、部署consumer服务

    文章目录 Dubbo管理控制台 1.Dubbo管理控制台的主要作用: 2.管理控制台主要包含: 3.管理控制台版本: 安装 Dubbo 管理控制台 使用Maven构建Dubbo服务的可执行jar包 D ...