正如JavScript控制样式、html内容和属性一样,jQuery也拥有自己控制这三个的方法,下面一一为大家讲述
一、控制html
1.通过html控制
① 获取html内容 :$('css选择器').html
$('.one').html()
② 修改html内容: $('css选择器').html('值')
$('.one').html('需要修改的值')
2.通过text控制
① 获取html内容:$ ('css选择器').text()
$('.one').text()
② 修改html内容:$('css选择器').text('修改的内容')
$('.one').text('需要修改的值')
3.通过val控制
① 获取html内容:$ ('css选择器').val()
$('textarea').eq(0).val()
② 修改html内容:$('css选择器').val('修改的内容')
$('textarea').eq(0).val('需要修改的值')
4.三者的区别
① text设置或返回所选元素的文本内容
② html设置或返回所选元素的文本内容(包括了HTML标记)
③ val设置或返回表单字段的值
<form action="">
<textarea name="" id="" cols="30" rows="10">
这是表单的内容
</textarea>
</form>
<div class="one"><h1>这是标题</h1></div>
<div class="two"><h1>这是标题</h1></div>
<script>
console.log($('.one').html());
console.log($('.two').text());
console.log($('textarea').eq(0).val());
</script>
正如前面所说的,通过html控制标签的html内容,可以把html的标签也识别出来,而text只是单纯的识别了html的内容,而val仅仅适用与表单元素
二、控制属性
1.获取属性
① $('css选择器').attr()
$(".btn").click(function(){
console.log($("#warp").attr("href"));
});
**② $('css选择器').prop() **
$('input').eq(i).prop('checked')
2.修改属性
①attr:
1-1 修改单一值:$('css选择器').attr('属性名','属性值')
$('.warp').attr('width',100+'px');
1-2 修改多个值:$('css选择器').attr({'属性名':'属性值','属性名':'属性值'})
$('.warp').attr({'width':100+'px','height':200+'px;});
② prop:$('css选择器').prop('checked',true/false)
$('input').eq(i).prop('checked',true)
注意,true和false一定不能加引号,否则就变成了字符串,字符串永远都是true,不管用户设置的选框是否选中,选框永远都是选中的状态
3.删除属性:$('css选择器').removeAttr('属性名')
$('.warp').removeAttr('width',100+'px');
4.attr和prop的区别
① 适用场景:
1-1 prop:对于HTML元素本身就带有的固有属性,使用prop方法。
1-2 attr:对于HTML元素我们自己自定义的DOM属性,使用 attr 方法。
② 函数结果
2-1 prop:如果有相应的属性,返回指定属性值;如果没有相应的属性,返回值是空字符串。
2-2 attr: 如果有相应的属性,返回指定属性值;如果没有相应的属性,返回值是 undefined。
5.类的相关操作
因为类也是属性,而且使用更加频繁,所以jQuery有专门针对类的方法
① 增加类:$('css选择器').addClass('类名')
$('main').addClass('show');
②删除类:$('css选择器').removeClass('类名')
$('main').removeClass('show');
③切换类:$('css选择器').toggleClass('类名')
$('main').toggleClass('show');
切换类的意思就是原本有这个类的执行完该代码后就没有这个类,原本没有这个类的执行完代码后就有这个
④判断是否有个类:$('css选择器').hasClass('类名')
console.log($('main').hasClass('show'));
有该类就返回true,没有就返回false
三、控制样式
1.获取样式:$('css选择器').css('样式名')
$('main').css('background');
2.修改样式
①修改一个样式:$('css选择器').css('样式名','样式值')
$('main').css('background','blue');
②修改多个样式: $('css选择器').css({'样式名':'样式值' , '样式名':'样式值'.....})
$('main').css({'background':'blue','width':100+'px'});
3.删除样式:$('css选择器').css('样式名','')
$('main').css('background','b');
4.注意事项
① 如果样式有中横线,要去除中横线并且第二个单词的首字母大写。如:marginTop
② 常量不需要引号包裹,变量需要引号包裹,常量和变量之间要通过+进行连接。如:'width':100+'px'