jQuery中对属性的操作【attr\prop addClass\removeClass\toggleClass html()\text()\val()】(属性、属性节点 CSS类 文本)

一个元素下有很多的属性,原生JS就可以对这些属性进行操作。
jQuery操作DOM(文本) 、属性、css类等相关的方法,这使访问和操作元素和属性变得很容易。

属性节点的操作

         attr(name|pro|key,val|fn)

如果是一个参数,显示属性节点的值
如果是两个参数,设置属性节点的值
显示时,只显示第一个标签的属性节点值,也可以用eq()进行指定
设置时,全部都设置

对于第一个参数,可以添加自定义的属性节点,添加的属性会在标签中显示


<body>
<span class="span1" name="aaa"></span>
<span class="span1" name="bbb"></span>
<span class="span1" name="ccc"></span>
</body>

$(function{
//显示属性节点
	let aa=$("span").attr("class");
	console.log(aa);
	//特定显示属性节点
	let  bb=$("span").eq(2).attr("name");
	console.log(bb);
	//设置已有的属性节点
	$("span").attr("name","hhhh");
	//自动添加一个新的属性节点,并设置其值
	$("span").attr("nnn","mmm");
})
		removeAttr(name)

只能有一个参数,但可以删除多个属性节点,用空格进行分隔

$("span").removeAttr("name class");

属性的操作

		prop(n|p|k,v|f)
		removeProp(name)

和attr相同
可以对特定属性进行操作
但是不可以添加新的属性节点,因为他操作的是属性;
所以可以添加新的属性

<span class="span1" name="aaa"></span>
<span class="span1" name="bbb"></span>
<span class="span1" name="ccc"></span>
<input type="checkbox" checked />
     //添加属性
     $("span").prop("nnn","mmm");
     console.log($("span").prop("nnn"));//mmm
     //删除属性
     $("span").removeProp("nnn");

属性节点也是属性的一种,所以可以对属性节点进行操作(不可以添加)

//操作属性节点,查询
   console.log($("span").prop("class"));//span1
   console.log($("span").prop("name"));//undefined

//操作属性节点,改属性节点的值
   let aa=$("span").eq(1).prop("class","ff");
   //返回一个jQuery对象
   console.log(aa);

那什么时候用attr,什么时候用prop

当操作属性节点时,当具有 checked selected disable 等具有true和false属性节点时使用prop
剩下的操作属性节点用attr

console.log($("input").prop("checked"));//true\false
console.log($("input").attr("checked"));//checked\undefined

css类操作

		 1.addClass(class|fn) 添加类

        2.removeClass([class|fn]) 删除类

        3.toggleClass(class|fn[,sw]) 替换类

         多个参数用空格分离
<body>
<button>添加类</button>
<button>删除类</button>
<button>替换类</button>
<div style="height: 50px; width:50px;"></div>
</body>
<style>
.class1{background: maroon; }
.class2{border:10px solid black;}
</style>
  $(document).ready(function()
{
   let btn=document.getElementsByTagName('button');
   btn[0].onclick=function()
  	 {$("div").addClass('class1 class2')};
   btn[1].onclick=function()
  	 {$("div").removeClass('class1')};
   btn[2].onclick=function()
  	 {$("div").toggleClass('class1 class2')};
})

文本操作

 html([val|fn])
        和JS中的innerHTML是一样的
 text([val|fn])
        和JS中的innertext是一样的
  val([val|fn|arr])
        和JS中的value是一样的

一个参数是设置,没有参数是获取

<body>
<button>设置HTML</button>
<button>获取HTML</button>
<button>设置TXT</button>
<button>获取TXT</button>
<button>设置value</button>
<button>获取value</button>
<div></div>
<input type="text">
</body>
<style>
   div{border:1px solid black;height: 200px; width:200px;}
</style>
            $(document).ready(function()
            {
                let btn=document.getElementsByTagName('button');
                btn[0].onclick=function()
                {
                  $("div").html("<p>aaaa</p>")
                };
                btn[1].onclick=function()
                {
                    console.log($("div").html());
                }
                btn[2].onclick=function()
                {
                    $("div").text("<p>aaaa</p>")
                }
                btn[3].onclick=function()
                {
                    console.log($("div").text);
                }
                btn[4].onclick=function()
                {
                    $('input').val("aaaaaaa");

                }
                btn[5].onclick=function()
                {
                    console.log($('input').val());
                }
            })
        </script>
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值