【JQuery/整理】筛选器用法小结+JQ追加HTML/获取属性

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/o0DarkNessYY0o/article/details/64905132

题图

        大家好呀,好久不见,正所谓一日不见如隔三秋,咱这两个月没见估计都快把小D给忘了哈,额,这个主要怪我啦,这段时间都在赶毕业设计,这不看着快做完了,眼下整理下有关web前台的资料,这回先贴出一部分JQuery相关的用法和小技巧,一来呢方便我查看;二来呢还是惯例,帮助我们后来的朋友,哈哈。

        好了,再多扯淡的话还不如咱干货来得直接,我上网看朋友们的文章也是一样的,实实在在的干货是最讨人喜欢的了,小D马上呈现上来!

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")

三、我的小例子

        上面整理搜集了一些资料,下面整合一下来个我项目中的例子:

// 筛选所有被选中的name属性为SubjectPager_CB的checkbox
$("input:checkbox[name='SubjectPager_CB']:checked").each(
    // 遍历选择器选出来的集合,
    function() {
        // $(this)为集合内的每个项目...
    }
);

$("#addSubject span").size();// 获取ID为addSubject的标签下span元素的数量

        有了个实战的是不是看得舒服些啦?哈哈,下面我们继续!

追加html

一、html()

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

        举个栗子:

原始HTML如下:

<div>div1 content</div>
<p>p content</p>
<div>div2 content</div>

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

<div>div1 content</div>
<p>abc</p>
<div>div2 content</div>

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

abc

二、append()

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

        举个栗子:

原始HTML如下:

<div>div1 content</div>
<p>p content</p>
<div>div2 content</div>

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

<div>div1 content</div>
<p>p contentabc</p>
<div>div2 content</div>

三、prepend()

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

        举个栗子:

原始HTML如下:

<div>div1 content</div>
<p>p content</p>
<div>div2 content</div>

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

<div>div1 content</div>
<p>abcp content</p>
<div>div2 content</div>

四、after()

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

        举个栗子:

原始HTML如下:

<div>div1 content</div>
<p>p content</p>
<div>div2 content</div>

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

<div>div1 content</div>
<p>p content</p>
<p>abc</p>
<div>div2 content</div>

五、before()

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

        举个栗子:

原始HTML如下:

<div>div1 content</div>
<p>p content</p>
<div>div2 content</div>

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

<div>div1 content</div>
<p>abc</p>
<p>p content</p>
<div>div2 content</div>

六、彩蛋:text()

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

JQ获取属性

        这个相信对大伙儿来说肯定很简单的啦,毕竟我用到这个比较少,有些朋友喜欢自定义属性来寄存些内容到标签上方便调用之类的,或者是通过筛选然后再遍历获取其中的某些属性,这些都是N多种会用到这个的方法啦,我就简单讲一下吧。

$("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) // 判断是否选中

后话

        最近看了一篇文章,讲JQ的,说到JQ貌似“落后”了,有新的库扩充前台自然是件好的事情,但是作为一个应届考研落榜生,在参加工作之前就碰到了这种事情略是感觉尴尬,不管啦,好好学习吧,谁刚入行就能牛逼的嘛,脚踏实地的准备着牛逼之路吧!

猜你喜欢

转载自blog.csdn.net/o0DarkNessYY0o/article/details/64905132