JQ选择器(标签)学习

时间:2023-01-29 23:32:24

JQ选择器

JQUERY找无规律元素文本的办法

具有限定子节点选择器:$("mix1[mix2]"):返回包含mix2的mix1节点.如:$("div[a]"):包含a标签的div. 
这个和$("div a")不相同.后者表示div中的a标签,返回的是a标签对象,前者返回的是div标签对象 
冒号限定结点选择器:$("mix:condition"):mix标签,并且满足限定条件. 
E:root:类型为E,并且是文档的根元素 
E:nth-child(n):是其父元素的第n个类型为E的子元素 ,基数从1开始 
E:first-child:是其父元素的第1个类型为E的子元素 
E:last-child:是其父元素的最后一个类型为E的子元素 
E:only-child:且是其父元素的唯一一个类型为E的子元素 
E:empty:没有子元素(包括text节点)的类型为E的元素 
E:enabled 
E:disabled:类型为E,允许或被禁止的用户界面元素 
E:checked:类型为E,处于选中状态的用户界面元素(例如单选按钮或复选框) 
E:visible:选择所有可见元素(display值为block或visible,visibility值为visible元素,不包括hide域) 
E:hidden:选择所有隐藏元素(非Hide域,且display值为block或visible,visibility值为visible的元素) 
E:not(s):类型为E,不匹配选择器s 
E:eq(n),E:gt(n),E:lt(n):元素限定 
E:first:相当于E:eq(0) 
E:last:最后一个匹配的元素 
E:even:从匹配的元素集中取序数为偶数的元素 
E:odd:从匹配的元素集中取序数为奇数的元素 
E:parent:选择包含子元素(包含text节点)的所有元素 
E:contains('test'):选择所有含有指定文本的元素 
表单选择器: 
E:input:选择表单元素(input,select,textarea,button) 
E:text:选择所有文本域(type="text") 
E:password:选择所有密码域(type="password") 
E:radio:选择所有单选按钮(type="radio") 
E:checkbox:选择所有复选框(type="checkbox") 
E:submit:选择所有提交按钮(type="submit") 
E:image:选择所有图像域 (type="image") 
E:reset:选择所有清除域(type="reset") 
E:button:选择所有按钮(type="button") 
当然包括E:hidden

8.xPath路径查询:

先介绍下xPath的语法: 
/:选取根节点 
//:选取文档中所有符合条件的节点,不管该节点位于何处 
.:选取当前节点 
..:选取单前节点的父节点 
@:选取属性,这个在之前说过了(属性选择器) 
nodename:选取节点下的所有节点 
jQuery中的应用: 
根节点是很少用到的,常用的如下面的例子: 
$("div/p")相当于$("div>p") 
$("div//p")相当于$("div p") 
$("//div/../p"):所有div节点的父节点下的p标签 
还有相对路径的写法以及支持的Axis选择器,还不是会应用,不介绍了...已经一大堆了

$的其他用法:

$(html节点):根据提供的原始HTML标记字符串,动态创建由jQuery对象包装的DOM元素.如: 
$("Hello").appendTo("#body");//把Hello添加到body元素中 
$(document):网页文档对象 
$(document.body):网页body对象,和$("body")是一样的 
$(函数):DOM载入后就执行该函数.所以$(document).ready()可以写做$() 
$(选择器部分,选择器来源):这个举例说明 
$("input:radio",document.forms[0]):在文档的第一个表单中,搜索所有单选按钮 
$("div",xml.responseXML):查询指定XML文档中的所有div元素 
选择器来源可以是:作为上下文的DOM元素,文档或jQuery对象 
还有两个:$.extend(prop)和$.noConflict()是和插件以及和其他库兼容的使用,以后再写

下拉框,单选框,多选框整理 

 1,下拉框:
var cc1  = $(".formc select[@name='country'] option[@selected]").text(); //得到下拉菜单的选中项的文本(注意中间有空格)
var cc2 = $('.formc select[@name="country"]').val();  //得到下拉菜单的选中项的值
var cc3 = $('.formc select[@name="country"]').attr("id"); //得到下拉菜单的选中项的ID属性值
$("#select").empty();//清空下拉框//$("#select").html('');
$("1111").appendTo("#select")//添加下拉框的option
稍微解释一下:
1.select[@name='country'] option[@selected] 表示具有name 属性,
并且该属性值为'country' 的select元素 里面的具有selected 属性的option 元素;
可以看出有@开头的就表示后面跟的是属性。

2,单选框:
$("input[@type=radio][@checked]").val();  //得到单选框的选中项的值(注意中间没有空格)
$("input[@type=radio][@value=2]").attr("checked",'checked'); //设置单选框value=2的为选中状态.(注意中间没有空格)

3,复选框:
$("input[@type=checkbox][@checked]").val(); //得到复选框的选中的第一项的值
$("input[@type=checkbox][@checked]").each(function(){ //由于复选框一般选中的是多个,所以可以循环输出
  alert($(this).val());
  });

$("#chk1").attr("checked",'');//不打勾
$("#chk2").attr("checked",true);//打勾
if($("#chk1").attr('checked')==undefined){} //判断是否已经打勾