jQuery选择器基础

  • 首先引入下载好的jQuery

<link rel="stylesheet" href="node_modules/jquery/dist/jquery.min.js">
  • 连缀 

$(".div1").children("div").css("background","red");

连缀就是如果方法前是一个jQuery对象,就对着对象起作用,如果前面不是jQuery对象,那就往前找,直到找到一个jQuery对象为止

  • 选择器

  • 标签选择器

 $("div");//标签选择器  选中所有div 

打印得到的是一个类数组,就是jQuery对象,不能使用数组的方法,也不能使用dom的属性和方法

$("div").eq(0);//获取jQuery中的某一个jQuery对象
$("div")[0];//获取的是一个dom对象

上面第二条就是jQuery方法获取一个dom元素

下面是获取dom标签后如何转化为jQuery对象

var div=document.getElementsByTagName("div");
$(div);

ps:jQuery和dom所有的属性和方法不能互相使用,要想使用必须要先进行转换

  • Id选择器

$("#div0");
  • Class名选择器

 $(".div0");
  • 群组选择器

 $("div,span");
  • 后代选择器

$("div span");//所有的div下的span
$("div.div1");//所有classname叫div的div
  • 通配选择器

$("div>.div1");//div下的Class名叫div0的选择器
  • 相邻兄弟选择器

$(".div1+div");//Class名叫div1的相邻的div
$(".div1+*");//Class名叫div1的相邻的所有元素
  • 多个兄弟选择器

$(".div1~*");//Class名叫div1的统计的的所有元素
  • 查找后代选择器的方法,这样效率更快

$(".div1").find("div");//等同于  $(".div1 div);
$("div").find(".div1");//等同于  $("div .div1);
  • 查找子代选择器的方法,效率也更快

     $(".div1").children("div");//等同于  $(".div1>div);
     $("div").children(".div1");//等同于  $("div>.div1);
  • 查找相邻兄弟选择器的方法,效率更快

$('#box').next('p');//等同于$("#box+p);
$('#box').next();//等同于$("#box+*);
  • 查找所有兄弟选择器的方法

$('#box').nextAll('p');//等同于$("#box~p);
$('#box').nextAll();//等同于$("#box~*);

 以上是与原先的HTML中相差不多的,下面是jQuery增加的

  • 同级向上找

$('#box').prev('p').css('color','red'); //同级上一个元素 
$('#box').prevAll('p').css('color', 'red'); //同级所有上面的元素
  • 从一个元素找到另一个元素

nextUntil()和 prevUnitl()方法
选定同级的下面或上面的所有节点,选定非指定的所有 元素,一旦遇到指定的元素就停止选定。 
$('#box').prevUntil('p').css('color','red'); //同级上非指定元素选定,遇到则停止 
$('#box').nextUntil('p').css('color','red'); //同级下非指定元素选定,遇到则停止
  • 上下相邻的所有元素 进行选定

('#box').siblings('p').css('color','red'); //同级上下所有元素选定 
//等价于下面: 
$('#box').prevAll('p').css('color','red');
$('#box').nextAll('p').css('color','red');
  • 属性选择器

使用$()函数时,如果是获取标签,必须使用""引起来 ,如果是DOM或者变量都不需要使用""
$("[title]");//获取属性是title属性的标签

$("a[title]");//标签选择器和属性选择器组合,选择所有a标签中含有title这个属性的a标签

$("[title='img']"));//判断 title标签属性值是img的,这里的等号是一个,表示相等

$("[class^=div]"));//class的值是以div起头的,也可以写成$("[class^='div']")这样

$("[class$='0']"//class的值是以0结尾的元素

$("[class|=lis]")//这个是选择class名是以lis开头的并且后面紧跟着-的元素

$("[class~=bn]")//选择class名里含有bn的,也就是说这个类名可能前后有空格,并不止bn这一个class名

$("[title!=img]")//选择title属性不是img的,也包括没有title属性的

$("[title][class][class!=lis]")//多项属性选择器,既有title属性又有class,class名还是lis的元素

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值