jquery选择器属性和方法的操作

一、jQuery下载

下载地址:http://www.jquery.com/

目前最新有2.x版本,但是以后工作中尽量使用1.9以下的版本1.9之后不再支持ie8以下浏览器

 $()  这个符号,实际上这个符号在JQuery中相当于JQuery(),即$(this)=jquery();也就是说,这样可以返回一个jquery对象。那么,当你在网页中alert($('#id'));时,会弹出一个[object Object ],这个object对象,也就是jquery对象了。

二、强大的选择器

1、基本选择器(重点)

• #id表示选择指定id这个元素

• .class表示选择指定的class这个元素

• Element表示选择指定的标签

• selector1,selector2匹配多个选择器


2、层级选择器(重点)

$(s1  s2) [父子]

派生选择器:在s1内部获得全部的s2节点(不考虑层次)

$(div  span);  div内部获得span节点

<div>

<span></span>

<p><span></span></p>

</div>

<span></span>

$(s1>s2) [ 父子 ]

直接子元素选择器:  s1内部获得子元素节点s2

$(div > span);  //div内部获得子元素span节点

<div>

<span></span>

<p><span></span></p>

<span></span>

</div>

<span></span>

$(s1 + s2) [兄弟]

直接兄弟选择器:在s1后边获得紧紧挨着的第一个兄弟关系的s2节点

$(div + span)    //div后边获得紧紧挨着的第一个兄弟关系的span节点

<div>

<span></span>

<p><span></span></p>

<span></span>

</div>

<span></span>

<span></span>

<div></div>

<span></span>

$(s1 ~ s2) [兄弟]

后续全部兄弟关系节点选择器:在s1后边获得全部兄弟关系的s2节点

$(div ~ span)    //获得div后边全部兄弟关系的span节点

<div>

<span></span>

<p><span></span></p>

<span></span>

</div>

<span></span>

<span></span>

<div></div>

<span></span>

<p></p>

<span></span>

3、简单选择器

都需要跟其他的选择器(标签选择器)组合起来使用

• :first 首先,第一,  选取第一个元素

• :last 最后,末尾,  选取最后一个元素

• :even 偶数 选取索引为偶数的元素 0也算偶数

• :odd  奇数 选取索引为奇数的元素

• :eq(index)表示选取索引为index的元素

• :gt(index) 大于 选取索引大于index的元素

• :lt(index) 小于 选取索引小于index 的元素

• :not(selector) 选取非指定选择器的元素(取出某个节点)

$("li:not(#a)") 括号内可以跟一些标签,类选择器,id选择器等


4、内容选择器

• :contains(text)   表示内容里包含指定的内容的选择器

包含内容选择器,获得的节点内部必须包含指定的内容

$(div:contains(beijing))

<div>I like <span>beijing</span></div>  //标签不构成影响

<div>xiaoming like shanghai</div>

• :empty 选择为空的元素

获得空元素(内部没有任何元素/文本() )节点对象

$(div:empty)

<div>I like <span>beijing</span></div>

<div>     </div>

<div>hello</div>

<div><img /></div>

<div></div>

• :has(selector)  选取包含指定选择器的元素

节点内部必须包含指定选择器对应的元素

$(div:has(#apple))

<div><p></p></div>

<div><span id=apple></span></div>

• :parent 表示选取子元素中内容不为空的子元素

寻找的节点必须作为父元素节点存在

$(div:parent)

<div></div>

<div>    </div>

<div><input type=text></div>

<div>sun</div>

5、可见性选择器

• :hidden   表示选取隐藏的元素   display:none

• :visible 表示选取可见的元素

6、属性选择器

• [attribute] 表示选取包含指定属性的元素

• [attribute=value]表示选取属性值是value的元素

• [attribute!=value] 表示选取属性值不等于value的元素

• [attribute^=value] 表示选取属性以value开头的元素

• [attribute$=value]  表示选取属性以value结束的元素

• [attribute*=value] 表示选取属性包含value的元素

• [attribute1][ attribute2][ attributeN] 表示选取多个指定属性的元素


三、 属性和方法的操作

属性的操作

$().attr(name)表示读取属性的值

$().attr(key,value)表示设置,设置key的属性值是value

$().attr(properties) 批量设置,通过json对象去实现,需要传递json对象

$().attr(key,fn) 表示设置,通过回调函数(函数的返回值)来设置属性的值

$().removeAttr(name)移除指定的属性


Class操作方法

• addClass(class)     添加指定的class

• removeClass(class)移出指定的class

• toggleClass(class)切换class

• hasClass(class)表示判断指定的选择器是否存在需要查询的class名字,返回值是bool数据,如果存在返回true,否则返回false

Css样式操作

• css(name)   表示获取指定的css设置

$().css('width') //300

• css(name,value) 给指定的css做相应的设置

$().css("color","red")

• css(properties) 通过json对象方式批量设置css样式

$().css({color:'red',width:'200px'})

宽高尺寸的设置

• width() 获取选择器的宽度

• width(value) 设置选择器的宽度

• height() 获取选择器的高度

• height(value) 设置选择器的高度

文本的操作

① 获取内容

前者可以获取html标签  普通字符串内容

后者只获取普通字符串内容 (会自动过滤html标签)

② 设置内容

前者可以设置html标签  普通字符串内容

后者只设置普通字符串内容,如果内容里边有tag标签内容,就把其中的<>”符号转变为符号实体 <-----<  >---->   空格------

以上两种操作(获取/设置)如果针对的操作内容是纯字符串内容,则使用效果一致

• html() 获取标签(双标签,如p、div、span等)里的内容或者html代码 innerHtml

• html(val) 给标签设置文本内容,也包含了html标签

• text() 只能获取标签中的文本内容,不包含html标签 innerText

• text(val) 给标签设置文本内容,如果里面包含了html标签,则会被转化成实体字符,最终在页面上原样输出,不会被浏览器解析成html标签

值的操作

$().attr(value);

$().attr(value,信息值);

$()•val() 表示获取选择器的value,input select 指的是value

$()•val(val) 表示给选择器设置值

textarea:使用val方法可以获取该标签的值,使用html方法也可以获取该标签的值

val()方法在 复选框、单选按钮、下拉列表 的使用有凸出表现

总结:

类(class)选择器:class="d1"  $(".d1").html()类选择器用点(.)

id选择器:id="d1"   $("#d1").html();id选择器用(#)

标签选择器:如:p,a,input等

5. 表单域选中选择器

复选框、单选按钮、下拉列表

$(:checked)复选框、单选按钮 选中选择器

$(:selected) 下拉列表 选中选择器

6. 复选框操作

全选、反选、全不选

$().attr(‘checked’,true);         //设置复选框选中

$().attr(‘checked’,false);        //取消复选框选中

$().attr(‘checked’);                //判断复选框选中情况,返回布尔值

关于复选框,全选,全不选,反选的操作

<script type="text/javascript">
$(function(){
//全选
  $("#quanxuan").click(function(){
  $("input").attr('checked',true);
  });
//全不选
  $("#quanbuxuan").click(function(){
  $("input").attr('checked',false);
  })
//反选
          $("#fanxuan").click(function(){
          // alert(2);
          console.log($("input").length);
          for(var i=0;i<$("input").length;i++){
          var a = $("input:eq("+i+")").attr("checked");
          $("input:eq("+i+")").attr("checked",!a);
          }
          });
   });
</script>

Each使用

•  each(callback)each方法只有一个参数,需要执行的函数。

    functioncallback(index,element){

    }

Index:遍历到的当前索引值(索引是从0开始)

Element:遍历到的当前dom对象 即:el

  <script type="text/javascript">
$(function(){
      $("#d2").click(function(){
       $("div").each(function(a,el){
                    $(el).html("第"+(a+1)+"个div")
       })
      })
  
   });
</script>
$(function(){
$("#aa").click(function(){
  $(":checkbox").each(function(index,element){
     var a = $(element).attr("checked");
      console.log($(element));
  })
})
})
复选框的反选,使用了each(),element代表获取的dom元素对象,$(element);将元素转化为jquery数组对象
$(function(){
$("#aa").click(function(){
var str = '';
$(":checkbox:checked").each(function(index,el){
                 str += $(el).val()+",";
});
 var lastIndex = str.lastIndexOf(',');
 str = str.substring(0, lastIndex);
 console.log(str);
})
})
使用each()方法获取多个input框中的id的值

总结:

简单选择器:

都需要跟其他的选择器(标签选择器)组合起来使用

$("li:first").html()li:下的第一个元素

$("li:last").html()  li:下的最后一个元素

$("li:even").html() li下的偶数的

$("li:odd").html()  li 下的奇数的

$("li:eq('1')") li第一个li元素

$("li:gt('2')") li下的大于2的元素

$("li:lt('2')")  li下的小于2的元素

$("li:not(li:eq(3))")li下的不等于3的元素

内容选择器:

li:empty()li下的元素为空的

li:contains(‘北京’)li下的包含北京的元素

li:has('a') li下的有a标签的元素

可见选择器:

 :visible() 可见的

 :hidden()隐藏的

属性和方法的操作:

$("input").attr('value')获得input框的value值

$("input").attr('value','name')给value属性赋值为name

$("input").removeattr('value') 移除input 框的value属性

 class的操作

$("#d1").addClass('p')给d1的元素添加p的样式(需要提前写好p的样式,如:.p{color:red});

$("#d1").removeClass('p')移除class样式

$("#d1").toggleClass('p')切换class样式

css样式的操作:

$("#d1").css("color","red");添加单个的css样式

$("#d1").css({

color:'red',

border:"1px solid blue",

})添加多个css样式

宽度,高度的设置:

 $("#d1").width(value);

$("#d1").heigth();

value传递的是整型的数据,没有px

$("#d1").html()含有标签

$("#d1").val()值得操作

还可以写成:$("#d1").attr('value')

jquery对象和dom对象的相互转化

jquery对象转化为dom对象

jquery提供了两种方法将一个jquery对象转换成一个dom对象,即[index]和get(index)。可能有人会觉得奇怪,怎么是用下标呢,没错,jquery对象就是一个数组对象.
下面代码将演示一个jquery对象转换成dom对象,再使用dom对象的方
var $cr=$("#cr"); //jquery对象
var cr = $cr[0]; //dom对象 也可写成 var cr=$cr.get(0);
alert(cr.checked); //检测这个checkbox是否给选中
dom对象转换成jquery对象
对于一个dom对象,只需要用$()把dom对象包装起来,就可以获得一个jquery对象了,方法为$(dom对象);
var cr=document.getElementById("cr"); //dom对象
var $cr = $(cr); //转换成jquery对像
转换后可以任意使用jquery中的方法了.
平时用到的jquery对象都是通过$()函数制造出来的,$()函数就是一个jquery对象的制造工厂.
建议:如果获取的对象是 jquery对象,那么在变量前面加上$,这样方便容易识别出哪些是jquery对象,例如:
var $variable = jquery对象;
如果获取的是dom对象,则定义如下:
var variable = dom对象

一定要注意,

写的js、jquery写的代码要单独用script标签封装起来,而不是和引入文件的script标签一起使用,否则写的js和jquery代码将不会执行
 a = $("input:eq("+i+")").attr("checked");  循环的时候变量和字符串一定要用++连接
$(this).children("li"),
表示获取当前元素下所有标签为<li>的子元素。而$("this")是选中this这个标签
获取$(this)子节点对象的方法:find(element)
find() 方法获得当前元素集合中每个元素的后代,通过选择器、jQuery 对象或元素来筛选。
.find() 与 .children() 方法类似,不同的是后者仅沿着 DOM 树向下遍历单一层级。
jquery对象是一个数组类的对象,及每一个数组的下表对应一个对象
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
省市县(区)三级选择, 含UI, 可用与移动端web开发 ----------------构造函数--------------------- fnBdAdCode({ test:false,//开启测试输出 depth:3, //选择级别,1 省, 2省市, >=3省市县(区) fn:function(name,code,o){}//选择事件,返回参数 name 名称,code GB码,o 元数据{} sheng:"",//初始化查询省{sheng:"江苏省",shi:"扬州市",qu:"广陵区"} 最少要有一个参数 shi:"",//初始化查询市 qu:"",//初始化查询县(区) code:"",//初始化查询code initdom:true//加载选择弹层dom,仅查数据可不加载,手动加载 x.initdom() }); -------------初始化查询元数据------------------------ _so=fnBdAdCode({qu:"回民区",initdom:0,depth:2}); return _so: {"name":"回民区","tag":"内蒙古自治区>呼和浩特市","code":150103,"result":[{"tag":"内蒙古自治区>呼和浩特市>回民区","code":150103}]} 其中: result=[所有匹配结果] 未找到: _so.code=-1 _so.result=[] _so=fnBdAdCode({code:321000}); return _so: {"name":"扬州市","tag":"江苏省>扬州市>扬州市","code":321000,"result":[{"tag":"江苏省>扬州市>扬州市","code":321000}]} 其中: result=[所有匹配结果] 未找到: _so.code=-1 _so.result=[] -------------查询地区code------------------------ _so.getcode({sheng:"江苏省",shi:"扬州市",qu:"广陵区"}); return: 321002 未找到:-1 (_so.code=-1 _so.result=[]) so: {"name":"广陵区","tag":"江苏省>扬州市>广陵区","code":321002,"result":[{"tag":"江苏省>扬州市>广陵区","code":321002}]} 其中: result=[所有匹配结果] _so.getcode({shi:"扬州"}); return: 321000 未找到:-1 (_so.code=-1 _so.result=[]) _so: {"name":"扬州市","tag":"江苏省>扬州市>扬州市","code":321000,"result":[{"tag":"江苏省>扬州市>扬州市","code":321000}]} 其中: result=[所有匹配结果] ------------查询code对应地区------------------------- _so.gettag(150103); return: 内蒙古自治区>呼和浩特市>回民区 未找到:"" (_so.code=-1 _so.result=[]) _so: {"name":"回民区","tag":"内蒙古自治区>呼和浩特市>回民区","code":150103,"result":[{"tag":"内蒙古自治区>呼和浩特市>回民区","code":150103}]} 其中: result=[所有匹配结果] ------------列出所有省份------------------------- _so.shenglst(); return: [[{"tag":"北京市>北京市>北京市","code":110000,"name":"北京市"},{"tag":"天津市>天津市>天津市","code":120000,"name":"天津市"}],...] _so: {"name":"","tag":"","code":31,"result":[{"tag":"北京市>北京市>北京市","code":110000,"name":"北京市"},{"tag":"天津市>天津市>天津市","code":120000,"name":"天津市"}]} 其中: tag|name=都为空, code=省份数据列表长度即:result.length 未找到: code=result.length=0, 省份数据列表=result=[] -------------列出下级城市------------------------ _so.shilst(320000); return: [[{"tag":"江苏省>南京市>南京市","code":320100,"name":"南京市"},{"tag":"江苏省>无锡市>无锡市","code":320200,"name":"无锡市"}],...] _so: {"name":"江苏省","tag":"江苏省>江苏省>江苏省","code":320000,"result":[{"tag":"江苏省>南京市>南京市","code":320100,"name":"南京市"},{"tag":"江苏省>无锡市>无锡市","code":320200,"name":"无锡市"}]} 其中: tag|name|code=当前省份数据 未找到: result=城市数据列表=[] -------------列出下级县(区)------------------------ _so.qulst(321000); return: [[{"tag":"江苏省>扬州市>邗江区","code":321003,"name":"邗江区"},{"tag":"江苏省>扬州市>高邮市","code":321084,"name":"高邮市"}],...] _so: {"name":"扬州市","tag":"江苏省>扬州市>扬州市","code":321000,"result":[{"tag":"江苏省>扬州市>邗江区","code":321003,"name":"邗江区"},{"tag":"江苏省>扬州市>高邮市","code":321084,"name":"高邮市"}]} 其中: tag|name|code=当前城市数据 未找到: result=县(区)数据列表=[]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值