美文网首页
jQuery选择器

jQuery选择器

作者: 爱琴宝 | 来源:发表于2016-09-12 14:26 被阅读0次

核心重点:$符号是jquery的一个对象,jQ中所有的方法和属性都添加在这个对象中,$等价于jquery。

onload事件和ready的区别:
执行时机:onload事件时必须等页面完全加载完毕后才能执行,ready是当页面的节点加载完毕后就可以执行,比onload早一点。
添加个数:onload只能添加一个,多次添加执行最后一次覆盖掉前面的,ready事件可以添加多个,且互相之间不会覆盖。(onload事件与ready事件也不会覆盖);

注:addEventListener的方法添加多个重复事件,不会发生覆盖的情况。
  1. 简化写法:onload没有简化写法,ready事件可以简写为:$(function(){})

取名规则:如果是通过jQ获取到的节点对象,需要在节点前加上$符号。通过DOM操作获取到的节点

DOM节点与jQ对象不能混用对方的属性及方法,如果想用必须先转换类型。
jQ与DOM之间的转换:

jquery==>>DOM
方法1:利用数组的下标形式获取:
var $div2 = $('#div1');

var divDom = $div2[0];

divDom.style.background = 'red';

方法2:使用get获取函数

var divDom2 = $div2.get(0);

console.log(divDom2);

DOM==>>jQuery
在DOM节点变量名外包裹上$();
var $divJq = $(div1);

console.log($divJq);

工具类:

<script type="text/javascript">

 //工具类

 console.log($.type([])); // Array

 console.log($.type({})); //object

 console.log($.type(new Date())); //date

 </script>

遍历对象:

//遍历对象 

 $.each([10,20,30],function(index,value){

 console.log(index,value);

 });
 $.each({name:"张三",age:18},function(key,value){

 console.log(key,value);

 });

each:

//each()方法:遍历获取到每一个节点元素

 $('li').each(function(){

//                  console.log($(this).text());

 //拼接内容

 var $text = $(this).text()+'<span style="color:red">促销</span>'

 $(this).html($text);

 $(this).addClass('p')

 })

选择器:

id ,类 ,标签

<script type="text/javascript">

 //使用ID选择器
 var div1 = $('#div1');
 console.log(div1);

 使用class选择器
 var div2 = $('.div2');
 console.log(div2);

 使用标签选择器
 var div3 = $('div');
 console.log(div3);

 </script>

通配符选择器,群组选择器,后代选择器

   //通配符选择器
 $('*').css('margin','10px');

 //群组选择器
 var $s =$('#div1,.p,#div2');
 console.log($s);
 $s.css('background','blue');

 //后代选择器
 $('#div1 p').css('color','yellow');
 var $sum = $('#div1 p');
 console.log($sum);
 $sum[0].style.color = 'red';

直接子选择器,统配符选择器和子选择器的配合;

//直接子选择器
 var ps2 = $('section > p');
 console.log(ps2);

//通配符选择器与子选择器的配合使用
var $ps = $('#div > *');
console,log($ps);

//找到id为div下的所有子元素

jQuery高级选择器:

/*
 find() $(".container".find('h2'));     查找子集中的h2
 children() $('article').childred();    获取直接所有子元素
 parent()   $('header').parent();       获取直接父级元素
 parents()  $('header').parents();      获取所有父级元素,直到html标签位置
 next()     $('header').next();         获取下一个兄弟元素
 nextAll()  $('header').nextAll();      获取下面所有兄弟元素
 prev()     $('header').prev();         获取上一个兄弟元素
 prevAll()  $('header').prevAll();      获取上面所有兄弟元素
 siblings() $('header').siblings();     获取所有兄弟元素
 */

详解:

 <script type="text/javascript">
 $(document).ready(function(){
 //后代选择器及find()
 //find():是jquery对象的方法 必须有参数,否则无法返回对应的后代标签。后代选择器
 $('p span').css('color','red');
 $('p').find('span').css('background','blueviolet');
 var $span = $('p').find('span');
 console.log($span);

 //子选择器
 var $two = $('#div1>.div2');
 console.log($two);
 //全部的子标签
 var $c = $('#div1').children();
 console.log($c);
 var $d = $('#div1').children('.div8'); 
 console.log($d);
 //children 如果没有参数则获取的是该标签的所有子元素,如果有参数 则获取该参数,如果参数不存在则返回空; 
 var $n = $('.div22+div')
 console.log($n);
 //next选择器(兄弟选择器):选中指定标签后的另一个兄弟标签,如果不是
 var $nn = $('.div22').next();
 console.log($nn);
 //next方法:选中某个标签后的紧邻的另一个标签,这个方法参数可以为空,选中的是跟在他后面的标签。
 //如果参数不为空,当标签后跟有指定的标签,则返回这个标签,如果不是指定的标签则返回空。
//nextAll(~) 选择器:如果指定标签后跟有并不是指定的标签,则会把不是指定的标签排除,寻找想要的标签。
 var $d1 = $('.div222 ~ div');
 console.log($d1);
 var $d2 = $('.div222').nextAll();
 console.log($d2);
 //nextAll() :如果没有参数,则获取到当前指定标签后的所有的标签,如果有参数则获取指定的标签。排除不相关的标签

 //prev
 var $b = $('#div3').prev('div');
 console.log($b);
 //prev():当方法没有参数的时候 获取的是当前标签的前一个标签,如果有参数,当参数是当前元素的前一个元素,则返回参数对应的标签,如果参数不是当前元素的前一个标签则返回空;
 //prevAll()如果没有参数,则获取到当前指定标签前的所有兄弟的标签,如果有参数则获取指定的兄弟标签。排除不相关的标签
 var $All = $('#div3').prevAll('a');
 var one = $All[2];
 console.log($All);
 console.log(one); 
 var $ss = $('#div3').siblings("a");
 console.log($ss);
 //siblings();如果没有参数,则获取到的是与指定标签同级的所有兄弟标签。如果有参数,则获取到指定标签的所有兄弟参数标签。
 });
 </script>

属性选择器:

 <script type="text/javascript">
 $(document).ready(function(){
 //属性选择器
 //得到id属性的所有标签
 var one = $('[id]');
 console.log(one);
 //得到id为div的标签
 var two = $('[id=div]')
 console.log(two);
 //不等于某个属性 , 得到的是出不等于的标签以外的所有的标签
 var three = $('[id!=div]')
 console.log(three);
 //以d开头的所有标签
 var four = $('[id^=d]')
 console.log(four);
 //以div为结尾的所有标签
 var five = $('[id$=div]');
 console.log(five);
 })
 </script>

过滤选择器:

<script type="text/javascript">
 $(document).ready(function(){
 //得到第一个元素和最后一个元素
//  var $first = $('*:first'); //html
//  var $first = $('#div1:last'); //无论是first还是last 都是本身 因为 寻找的必须是 标签元素不能是id或者class
 var $first = $('#div1 div:first'); // class为d1 的div
 var $last = $('#div1 div:last'); // class 为d4的div
 console.log($first);
 console.log($last);
 //得到偶数和奇数
 var $even = $('*:even'); //全部标签排序(包括子标签及父标签一起)下标为偶数的。从0开始
 var $odd = $('*:odd'); //下标为奇数
 console.log($even);
 console.log($odd);
 //反选 not()
//  var $not = $(':not(#div1.d2)'); //选取除了#div1.d2以外的所有标签 
 var $not = $('div:not(#div1.d2)');// 在div中获取除了#div1.d2以外的所有标签;
 console.log($not);
 //eq ,gt,lt ,header n代表下标数字
 var $eq = $('*:eq(n)'); //*(可改变 指定范围)从html开始获取下标为n的标签 n可以使负数 倒数第n个
 console.log($eq);
 var $gt = $('*:gt(n)');//*(可改变 指定范围)从html开始会下标为n以后所有的标签(父元素及子元素)
 console.log($gt); 
 var $lt = $("*:lt(n)"); //*(可改变 指定范围)指的是下标为n上面所有的标签
 console.log($lt);
 var $head = $('*:header');//*(可改变 指定范围)获取*所有的h标签
 console.log($head);
 //nth-child
 var $one = $('#div1 div:nth-child(3)'); // 获取指定下标的元素 下标从1开始;
 console.log($one); 
 var $oneo = $(':nth-child(1)'); //所有父元素中的第一个子元素。。。。。
 console.log($oneo);
 var $two = $(" :nth-child(2n)"); // 从head开始获取下标为2的倍数的标签
 console.log($two);
 var $three = $('*:nth-child(even)');//从head开始获取下标为偶数的标签
 console.log($three);
 var $four = $(':nth-child(odd)'); // 从head开始获取下标为奇数的标签
 console.log($four);
 })
 </script>

内容选择器,可见选择器,表单选择器,nth-child,

/*
 $('div:eq(1)');//下标为1的div,下标从0开始,可以写负数,负数为倒数第N个
 $('div:eq(-1)');
 //内容选择器
 $('div:contains("big")');  //找到内容中带有big的标签
 //可见性选择器
 $(div:visible);        //找到可见的div
 $('div:hidden');   //找到隐藏的div (dis play:none/hidden='hidden')
 //表单选择器
 $(':input');       获取所有的Input
 $(':text');            获取所有输入框
 //子元素选择器
 $("ul li:first-child");        获取第一个li
 $('ul li:last-child');     获取最后一个li
 $('ul li:nth-child(2n+1)');        获取第2n+1个    可以填写(n,even , 2n+1,odd);奇数偶数
 */

相关文章

  • jquery选择器书目录

    jquery选择器-基本选择器 jquery选择器-层级选择器 jquery选择器-基本过滤选择器 jquery选...

  • JQUERY一

    jQuery 元素选择器 jQuery 属性选择器 jQuery CSS 选择器 jQuery 事件 jQuery...

  • jQuser有选择器

    jQuery基本选择器 jQuery过滤选择器 jQuery层级选择器 jQuery筛选选择器(方法)

  • 选择器

    jQuery 元素选择器 jQuery 属性选择器 jQuery CSS 选择器

  • jQuery 基础

    jQuery jQuery操作DOM jQuery的选择器 基本选择器 层级选择器 过滤选择器 jQuery操作样...

  • jQuery

    jQuery jQuery操作DOM jQuery的选择器 基本选择器 层级选择器 过滤选择器 jQuery操作样...

  • jQuery选择器

    一、jQuery常用选择器 二、jQuery选择器优势 三、jQuery常用基本选择器 四、jQuery常用层次选...

  • JQuery基础知识

    jQuery操作DOM jQuery的选择器 基本选择器 层级选择器 过滤选择器 jQuery操作样式 css操作...

  • jQuery相关知识

    1、什么是jQuery选择器? jQuery选择器

  • jQuery选择器

    jQuery选择器 jQuery选择器完全继承了CSS的风格。学会使用选择器是学习jQuery的基础,jQuery...

网友评论

      本文标题:jQuery选择器

      本文链接:https://www.haomeiwen.com/subject/qiupettx.html