jQuery属性操作
- HTML属性操作:对HTML文档的属性进行读取,设置和移除操作。如attr(),removeAttr()
- DOM属性操作:对DOM元素的属性进行读取,设置和移除操作。如prop(),removeProp()
- 类样式操作:对DOM属性className进行添加,移除操作。如addClass(),removeClass(),toggleClass()
- 值操作:对DOM属性value进行读取和设置操作。如html(),text(),val()
HTML属性操作
attr()有一个参数,表示获取值
<script type="text/javascript"> $(function () { //jQuery的属性操作,html属性操作attr() $("button").click(function () { $("#box p").text($("#box").attr("id")) }) }) </script>
attr()有两个参数,表示设置值
<script type="text/javascript"> $(function () { $("button").click(function () { $("#box p").attr("class","foo"); }) }) </script>
设置多个值,通过对象方式。如果同时设置多个类名,不能用attr()
<script type="text/javascript"> $(function () { //jQuery的属性操作,html属性操作attr() $("button").click(function () { //同时设置多个值,用对象方式 $("button").click(function () { $("#box p").attr({"class":"foo","name":"luffy"}); }) }) </script>
removeAtt()删除一个属性
DOM属性操作
对dom对象操作,在html上体现不出来
<script type="text/javascript"> $(function () { //获取的是第一个元素的class console.log($("li").prop("class")); //设置一个值 $('li').first().prop("name","app") //设置多个值 $('li').first().prop({"name":"app","name2":"app2","name3":"app3"}) //删除DOM对象的属性 $('li').first().removeProp("name2") }) </script>
多个删除直接用空格分开“name1 name2”
类样式操作
给标签添加或移除多个类
addClass()
removeClass()
开关案例
<script type="text/javascript"> $(function () { //添加类属性 $("span").addClass('span1 span2'); //移除类属性 $("span").removeClass('span3'); //动态添加和删除属性,达到开关效果 var isBig=true; $("span").click(function () { if(isBig){ $(this).addClass("active"); isBig=false; }else { $(this).removeClass("active"); isBig=true; } }) }) </script>
值操作
text(),html(),val()
text():拿到标签内所有的文本值,包含内嵌标签的字符串。设置值的时候会将里面所有的内容进行替换,包括html元素都将替换掉。如果内容是html标签元素,将不会进行渲染
html():获取所有的内容,包含文本和html元素。将html元素渲染到现有的html元素中去
vl():获取或设置input元素的value值
<script type="text/javascript"> $(function () { //值操作 console.log($("#box2").text()); //替换掉所有的内容 $("#box2").text("嘿嘿嘿"); console.log($("#box2").html()); //获取值 $("input").val(); //设置值 $("input").val("娃哈哈"); }) </script>
监听input值的变化(非实时监听)
<script type="text/javascript"> $(function () { //监听input标签的值 $("input").change(function () { console.log($("input").val()) }) }) </script>
表单控件操作
根据元素类型获取对应元素
<script type="text/javascript"> $(document).ready(function () { //:类型,根据input类型获取元素 $(":radio"); $(":checkbox"); $(":button"); $(":text"); $(":submit"); $(":disabled"); }) </script>
获取单选框中的值
//先通过属性选择器选择,再通过类选择器进行过滤。获取单选框中的value值 $("input[type=radio]:checked").val();
获取被选中的多选框的值,注:只获取到了第一个的值
//获取被选中的多选框的值,仅仅获取的第一个值 $("input[type=checkbox]:checked").val()
获取下拉列表被选中的值,option为后代选择器,selected属性
//下拉列表被选中的值,option为后代选择器,再通过selected属性过滤被选中的标签: $("#timespan option:selected").val()
设置表单控件值
单选按钮的值,即根据value值进行选中操作
//设置单选按钮的值,即将单选按钮给选中 $("input[type=radio]").val(["12"])
设置复选框的值
//根据复选框的val选中对应复选框 $("input[type=checkbox]").val(["a","c"])
下拉列表选择,不能设置多个
//设置下拉列表,必须用select。不能设置多个 $("selecte").val(["3"])
文本框设置
//文本框设置 $("input[type=text]").val("新的值")