页面筛选功能

JQuery筛选器用法小结

一、选择对象

1.1基本选取方式

1、#id:根据给定的ID匹配一个元素。例如:$("#xxx_id") 
2、element:匹配所有给定的元素名的元素。例如:$("div") 
3、.class:根据给定的类匹配元素。例如:$(".cls1") 
4、*:匹配所有元素。例如:$("*") 
5、selector1,selector2,…,selectorN:将每一个选择器匹配到的元素合并后一起返回。例如:$("#xxx_id, div, .cls1")

特殊的,下面是一些表单里面的一些对象选择方法

1.2表单类选取方式

1、:button:匹配所有按钮。例如:$(":button") 
2、:checkbox 匹配所有复选框。例如:$(":checkbox") 
3、:file 匹配所有文件域。例如:$(":File") 
4、:hidden 匹配所有不可见元素,或type属性为hidden的元素。例如:$("input:hidden") 
5、:image 匹配所有图像。例如:$(":image") 
6、:input 匹配所有 input, textarea, select 和 button 元素。例如:$(":input") 
7、:password 匹配所有密码框。例如:$(":password") 
8、:radio 匹配所有单选按钮。例如:$(":radio") 
9、:reset 匹配所有重置按钮。例如:$(":reset") 
10、:submit 匹配所有提交按钮。例如:$(":submit") 
11、:text 匹配所有的单行文本框。例如:$(":text") 
12、:header 匹配如 h1, h2, h3之类的标题类型的元素。例如:$(":header").css("background", "#000FFF");

二、条件筛选

2.1通过属性筛选

1、[attribute*=value] 匹配给定的属性是以包含某些值的元素。例如:$("input[name*='dark'") 
2、[attribute!=value] 匹配所有含有指定的属性,但属性不等于特定值的元素。例如:$(input[name!='dark') 
3、[attribute$=value] 匹配给定的属性是以某些值结尾的元素。例如:$("input[name$='dark']") 
4、[attribute=value] 匹配给定的属性是某个特定值的元素。例如:$("input[name='dark']") 
5、[attribute] 匹配包含给定属性的元素。例如:$("div[id]") 
6、[attribute^=value] 匹配给定的属性是以某些值开始的元素。例如:$("input[name^='dark']") 
7、[selector1][selector2][selectorN] 的形式可以表示同时满足多个条件。例如:$("input[id][name='dark']") 
8、:hidden 匹配所有的不可见元素。例如:$("tr:hidden") 
9、:visible 匹配所有的可见元素。例如:$("tr:visible") 
10、:checked 匹配所有选中的被选中元素(复选框、单选框等,不包括select中的option)。例如:$("input:checked") 
11、:disabled 匹配所有不可用元素。例如:$("input:disabled") 
12、:enabled 匹配所有可用元素。例如:$("input:enabled") 
13、:selected 匹配所有选中的option元素。例如:$("select option:selected")

2.2通过内容筛选

1、:contains(text) 匹配包含给定文本的元素。例如:$("div:contains('John')") 
2、:empty 匹配所有不包含子元素或者文本的空元素。例如:$("td:empty") 
3、:has(selector) 匹配含有选择器所匹配的元素的元素。例如:$("div:has(p)") 
4、:parent 匹配含有子元素或者文本的元素。例如:$("td:parent")

2.3通过层级筛选

1、grade_parent child 在给定的祖先元素下匹配所有的后代元素。例如:$("form input") 
2、parent > child 在给定的父元素下匹配所有的子元素。例如:$("form > input") 
3、prev + next 匹配所有紧接在 prev 元素后的 next 元素。例如:$("label + input") 
4、prev ~ siblings 匹配 prev 元素之后的所有 siblings 元素。例如:$("form ~ input") 
5、:first-child 匹配第一个子元素。例如:$("ul li:first-child") 
6、:last-child 匹配最后一个子元素。例如:$("ul li:last-child") 
7、:nth-child(index/even/odd/equation) 匹配其父元素下的第N个子或奇偶元素。例如:$("ul li:nth-child(2)") 
8、:only-child 如果某个元素是父元素中唯一的子元素,那将会被匹配。例如:$("ul li:only-child")

2.4通过特殊条件筛选

1、:animated 匹配所有正在执行动画效果的元素。例如:$("div:animated") 
2、:eq(index) 匹配一个给定索引值的元素(从 0 开始)。例如:$("tr:eq(1)")$("div").eq(1) 
3、:even 匹配所有索引值为偶数的元素(从 0 开始)。例如:$("tr:even") 
4、:first 匹配找到的第一个元素。例如:$("tr:first") 
5、:gt(index) 匹配所有大于给定索引值的元素(从 0 开始)。例如:$("tr:gt(0)") 
6、:last 匹配找到的最后一个元素。例如:$("tr:last") 
7、:lt(index) 匹配所有小于给定索引值的元素。例如:$("tr:lt(2)") 
8、:not(selector) 去除所有与给定选择器匹配的元素。例如:$("input:not(:checked)") 
9、:odd 匹配所有索引值为奇数的元素(从 0 开始)。例如:$("tr:odd")

追加html

一、html()

        $(“#DElement”).html([…]) 操作节点中的内容,一般我们可以用来快速给一个容器中赋值或者取出其中的值。

        举个栗子:

原始HTML如下:

<div>div1 content</div>
<p>p content</p>
<div>div2 content</div>
  • 1
  • 2
  • 3

则执行$("p").html("abc"); 的结果如下:

<div>div1 content</div>
<p>abc</p>
<div>div2 content</div>
  • 1
  • 2
  • 3

然后再执行$("p").html();获取到的内容如下:

abc
  • 1

二、append()

        $(“#DElement”).append(…) 追加到节点中的末尾处。

        举个栗子:

原始HTML如下:

<div>div1 content</div>
<p>p content</p>
<div>div2 content</div>
  • 1
  • 2
  • 3

则执行$("p").append("abc"); 的结果如下:

<div>div1 content</div>
<p>p contentabc</p>
<div>div2 content</div>
  • 1
  • 2
  • 3

三、prepend()

        $(“#DElement”).prepend(…) 追加到节点中的起点。

        举个栗子:

原始HTML如下:

<div>div1 content</div>
<p>p content</p>
<div>div2 content</div>
  • 1
  • 2
  • 3

则执行$("p").prepend("abc"); 的结果如下:

<div>div1 content</div>
<p>abcp content</p>
<div>div2 content</div>
  • 1
  • 2
  • 3

四、after()

        $(“#DElement”).after(…) 追加到节点的后面。

        举个栗子:

原始HTML如下:

<div>div1 content</div>
<p>p content</p>
<div>div2 content</div>
  • 1
  • 2
  • 3

则执行$("p").prepend("<p>abc</p>"); 的结果如下:

<div>div1 content</div>
<p>p content</p>
<p>abc</p>
<div>div2 content</div>
  • 1
  • 2
  • 3
  • 4

五、before()

        $(“#DElement”).before(…) 追加到节点的前面。

        举个栗子:

原始HTML如下:

<div>div1 content</div>
<p>p content</p>
<div>div2 content</div>
  • 1
  • 2
  • 3

则执行$("p").prepend("<p>abc</p>"); 的结果如下:

<div>div1 content</div>
<p>abc</p>
<p>p content</p>
<div>div2 content</div>
  • 1
  • 2
  • 3
  • 4

六、彩蛋:text()

        这个就太简单了哈,和$("element_id").html()document.getElementById("element_id").innerHTML()类似,同document.getElementById("element_id").innerTEXT(),获取/设置标签内的纯文本信息,注意哈,在这里如果写入了标签,比如$("#element_id").text("<p>haha</p>");则里面的标签仍然会显示出来的哦!

JQ获取属性


$("div .cls1").eq(0).attr("id");// 获取父元素为div,自身拥有cls1类的第一个元素的ID属性,想要什么属性就填入就行啦
$("div .cls1").eq(0).attr("name", "haha");// 设置其name属性的值为haha

// 下面是对文本框值的操作
$("#input_element_id").attr("value",'');// 清空input内容
$("#input_element_id").attr("value",'11');// 填入input内容

// 下面是对单/多选框的操作
$("#chk").attr("checked",'');// 设置未选中
$("#chk").attr("checked",true);// 设置选中
if($("#chk").attr('checked') == undefined) // 判断是否选中

猜你喜欢

转载自blog.csdn.net/qq_37034181/article/details/79437996
今日推荐