前端 ----jQuery的属性操作

jquery的属性操作模块分为四个部分:html属性操作,dom属性操作,类样式操作和值操作

  • html属性操作:是对html文档中的属性进行读取,设置和移除操作。比如attr()、removeAttr()
  • DOM属性操作:对DOM元素的属性进行读取,设置和移除操作。比如prop()、removeProp()
  • 类样式操作:是指对DOM属性className进行添加,移除操作。比如addClass()、removeClass()、toggleClass()
  • 值操作:是对DOM属性value进行读取和设置操作。比如html()、text()、val()

attr()

设置属性值或者 返回被选元素的属性值

       //获取值:attr()设置一个属性值的时候 只是获取值
        var id = $(‘div‘).attr(‘id‘)
        console.log(id)
        var cla = $(‘div‘).attr(‘class‘)
        console.log(cla)
        //设置值
        //1.设置一个值 设置div的class为box
        $(‘div‘).attr(‘class‘,‘box‘)
        //2.设置多个值,参数为对象,键值对存储
        $(‘div‘).attr({name:‘hahaha‘,class:‘happy‘})

removeAttr()

移除属性

//删除单个属性
$(‘#box‘).removeAttr(‘name‘);
$(‘#box‘).removeAttr(‘class‘);

//删除多个属性
$(‘#box‘).removeAttr(‘name class‘);

prop()

prop() 方法设置或返回被选元素的属性和值。

当该方法用于返回属性值时,则返回第一个匹配元素的值。

当该方法用于设置属性值时,则为匹配元素集合设置一个或多个属性/值对。

语法:

返回属性的值:

$(selector).prop(property)

设置属性和值:

$(selector).prop(property,value)

设置多个属性和值:

$(selector).prop({property:value, property:value,...})

关于attr()和prop()的区别

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
    男<input type="radio" id=‘test‘ name="sex"  checked/>
    女<input type="radio" id=‘test2‘ name="sex" />
    <button>提交</button>

    <script type="text/javascript" src="jquery-3.3.1.js"></script>
    <script type="text/javascript">
        $(function(){
            //获取第一个input
            var el = $(‘input‘).first();
            //undefined  因为attr是获取的这个对象属性节点的值,很显然此时没有这个属性节点,自然输出undefined
            console.log(el.attr(‘style‘));
            // 输出CSSStyleDeclaration对象,对于一个DOM对象,是具有原生的style对象属性的,所以输出了style对象
            console.log(el.prop(‘style‘));
            console.log(document.getElementById(‘test‘).style);

            $(‘button‘).click(function(){
                alert(el.prop("checked") ? "男":"女");
            })

        })
    </script>

</body>
</html>

什么时候使用attr(),什么时候使用prop()?

1.是有true,false两个属性使用prop();

2.其他则使用attr();

addClass(添加多个类名)

为每个匹配的元素添加指定的类名。

$(‘div‘).addClass("box");//追加一个类名到原有的类名

还可以为匹配的元素添加多个类名

$(‘div‘).addClass("box box2");//追加多个类名

removeClass

从所有匹配的元素中删除全部或者指定的类。

移除指定的类(一个或多个)

$(‘div‘).removeClass(‘box‘);

移除全部的类

$(‘div‘).removeClass();

可以通过添加删除类名,来实现元素的显示隐藏

代码如下:

var tag  = false;
        $(‘span‘).click(function(){
            if(tag){
                $(‘span‘).removeClass(‘active‘)
                tag=false;
            }else{
                $(‘span‘).addClass(‘active‘)
                tag=true;
            }
})

案例:

代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
    <style type="text/css">
        .active{
            color: red;
        }
    </style>
</head>
<body>
     <ul>
         <li class="item">张三</li>
         <li class="item">李四</li>
         <li class="item">王五</li>
     </ul>
     <script type="text/javascript" src="jquery-3.3.1.js"></script>
     <script type="text/javascript">
         $(function(){

             $(‘ul li‘).click(function(){
                 // this指的是当前点击的DOM对象 ,使用$(this)转化jquery对象
                 $(this).addClass(‘active‘).siblings(‘li‘).removeClass(‘active‘);
             })
         })
     </script>

</body>
</html>

toggleClass

如果存在(不存在)就删除(添加)一个类。

语法:toggleClass(‘box‘)

$(‘span‘).click(function(){
    //动态的切换class类名为active
    $(this).toggleClass(‘active‘)
})

html

获取值:

语法;

html() 是获取选中标签元素中所有的内容

$(‘#box‘).html();

设置值:设置该元素的所有内容 会替换掉 标签中原来的内容

$(‘#box‘).html(‘<a href="https://www.baidu.com">百度一下</a>‘);

text

获取值:

text() 获取匹配元素包含的文本内容

语法:

$(‘#box‘).text();

设置值:
设置该所有的文本内容

$(‘#box‘).text(‘<a href="https://www.baidu.com">百度一下</a>‘);

注意:值为标签的时候 不会被渲染为标签元素 只会被当做值渲染到浏览器中

val

获取值:

val()用于表单控件中获取值,比如input textarea select等等

设置值:

$(‘input‘).val(‘设置了表单控件中的值‘);

原文地址:https://www.cnblogs.com/liuafan/p/9525879.html

时间: 2024-12-29 06:54:37

前端 ----jQuery的属性操作的相关文章

37.前端jQuery之属性操作

属性操作主要分为四个部分:html属性操作,dom属性操作,类样式操作和值操作 HTML属性操作:属性的读取,设置,以及移除,如attr().removeAttr() DOM属性操作:属性的读取,设置,以及移除,如prop().removeProp() 类样式操作:指对DOM属性className进行添加,移除操作.比如addClass().removeClass().toggleClass() 值操作:对DOM属性value进行读取和设置操作.比如html().text().val() att

jQuery 的属性操作

jQuery的属性操作: --html属性操作: 是对HTML文档中的属性进行读取,设置和移除操作.比如:attr().removeProp() --DOM属性操作:对DOM元素的属性进行读取,设置和移除操作.比如prop().removeProp() --类样式操作:是对DOM属性className进行添加,移除操作. 原文地址:https://www.cnblogs.com/zsdbk/p/9120829.html

jQuery的属性操作

jquery的属性操作模块分为四个部分:html属性操作,dom属性操作,类样式操作和值操作 html属性操作:是对html文档中的属性进行读取,设置和移除操作.比如attr().removeAttr() DOM属性操作:对DOM元素的属性进行读取,设置和移除操作.比如prop().removeProp() 类样式操作:是指对DOM属性className进行添加,移除操作.比如addClass().removeClass().toggleClass() 值操作:是对DOM属性value进行读取和

jQuery的属性操作/使用jQuery操作input的value值

一.jQuery的属性操作 jQuery的属性操作模块分成四个部分: HTML属性操作, DOM属性操作, 类样式操作和值操作 HTML属性操作: 是对HTML文档中的属性读取,设置和移除操作; 比如:attr(), removeAttr() DOM属性操作: 对DOM元素的属性进行读取, 设置和移除操作; 比如prop(), removeProp() 类样式操作: 是指对DOM属性className进行添加, 移除操作; 比如addClass(), removeClass(), toggleC

jquery学习--属性操作

学习jquery很长一段时间了,知道对属性操作的方式为: $("#xx1").attr("xx2"); //获取属性值 $("#xx1").attr("xx2","xx3"); //设置属性值 但是今天突然发现jquery对象还有一个叫prop()的方法,这个prop()方法是什么来头,干什么用的?

36.前端jQuery之动画操作及相关演示

1.显示动画 1.1无参数,直接让指定的元素显示出来 $("div").show(); 1.2通过控制宽高,透明度,display属性逐渐显示,指定时间现实完毕 $('div').show(3000); 1.3特定参数类型 $("div").show("slow"); 参数: slow:600ms normal:400ms fast:200ms 1.4动画执行完毕,立即执行回调函数 //show(毫秒值,回调函数; $("div&quo

jQuery(属性操作)

1.操作任意属性 a.attr() //1. 读取第一个div的title属性 console.log($('div:first').attr('title')) // one //2. 给所有的div设置name属性(value为atguigu) $('div').attr('name', 'Tom') b.removeAttr() //3. 移除所有div的title属性 $('div').removeAttr('title') c.prop //11. 点击'全选'按钮实现全选 // at

前端 ----jQuery的文件操作

之前js中咱们学习了js的DOM操作,也就是所谓的增删改查DOM操作.通过js的DOM的操作,大家也能发现,大量的繁琐代码实现我们想要的效果.那么jQuery的文档操作的API提供了便利的方法供我们操作我们的文档. 看一个之前我们js操作DOM的例子: var oUl = document.getElementsByTagName('ul')[0]; var oLi = document.createElement('li'); oLi.innerHTML = '赵云'; oUl.appendC

$.cssHooks 扩展 jquery 的属性操作

最近在研究 $.transit 然后发现了 $.cssHooks 这个方法,试了一下官方的 demo 表示好像并不是那么回事,所以决定深入的测试一下. $.cssHooks 的作用在于拓展属性(自己意淫的),比如用 "rotate" 代替 "transform: rotate()" 之类的,酱紫,$(".box1").css({"rotate":"10"}); 而且还可以用 "rotate&quo