jQuery属性&CSS操作

作者: fanison | 来源:发表于2019-03-28 19:53 被阅读26次
    • .val()

    .val()方法主要用于获取表单元素的值,比如 input, select 和 textarea
    当方法没有参数的时候返回input的value值,当传递了一个参数的时候,方法修改input的value值为参数值

    $('input').val()
    $('input').val('newValue');
    
    • .attr()

    .attr(attributeName)

    获取元素特定属性的值

    <div class='header'></div>
    console.log( $("div").attr("class"))    //header
    

    .attr(attributeName,value)
    .attr(attributesJson)
    .attr( attributeName, function(index, attr) )

    为元素属性赋值

    <img id="greatphoto" src="brush-seller.jpg" alt="brush seller" />
    $('#greatphoto').attr('alt', 'Beijing Brush Seller');   //设置单个属性
    $( "#greatphoto" ).attr({
      alt: "Beijing Brush Seller",
      title: "photo by Kelly Clark"
    });  //设置多个属性
    $('#greatphoto').attr('title', function(i, val) {
      return val + ' - photo by Kelly Clark'
    });   //通过函数设置属性
    
    • .removeAttr()

    为匹配的元素集合中的每个元素中移除一个属性(attribute)

    <div class="header"></div>
    $('div').removeAttr('class');   //移除class属性
    
    • .prop()

    .prop( propertyName )

    获取匹配的元素集中第一个元素的属性(property)值

    .prop( propertyName, value )

    为匹配的元素设置一个或多个属性(properties)

    当设置selectedIndex,tagName, nodeName, nodeType, ownerDocument, defaultChecked, 或 defaultSelected必须使用prop方法。从jQuery1.6开始,这些属性可以不再使用.attr()方法来设置。他们没有相应的属性(attributes),只有属性(property)。

    CSS相关


    • .css()

    用来处理元素的css

    .css(propertyName)
    .css(propertyNames)

    获取元素style特定property的值

      <style>
        div{
           width:100px;
           height:200px;
           color:yellow;
           background-color:black;
        }
      </style>
    $('div').css( "width" );   //"100px"
    var styleProps = $('div').css([
      "width",
      "height",
      "color",
      "background-color"
    ]);
    //{width: "100px", height: "200px", color: "rgb(255, 255, 0)", background-color: "rgb(0, 0, 0)"}
    

    .css(propertyName,value)
    .css( propertyName, function(index, value) )
    .css( propertiesJson )

    设置元素style特定property的值

    $( 'div' ).css( "width", function( index ) {
      return index * 50;
    });    //通过函数设置属性
    
    $('div' ).css( "width", "+=200" );
    
    $('div' ).css( "background-color", "yellow" );   //设置单个属性
    
    $('div' ).css({
      "background-color": "yellow",
      "font-weight": "bolder"
    });    //设置多个属性
    
    • .addClass()

    '.addClass(className)'
    .addClass(function(index,currentClass))

    为元素添加class,不是覆盖原class,是追加,也不会检查重复

    $( "p" ).addClass( "myClass yourClass" );
    
    $( "ul li" ).addClass(function( index ) {
      return "item-" + index;
    });
    
    • .removeClass()

    removeClass([className])
    removeClass(function(index,class))

    移除元素单个/多个/所有class

    $( "p" ).removeClass( "myClass yourClass" );
    
    $( "li:last" ).removeClass(function() {
      return $( this ).prev().attr( "class" );
    });
    
    • .hasClass()

    .hasClass(className)

    检查元素是否包含某个class,返回true/false

    $( "#mydiv" ).hasClass( "foo" )
    
    • .toggleClass()

    在匹配的元素集合中的每个元素上用来切换的一个或多个(用空格隔开)样式类名。

    <div class="tumble">Some text.</div>
    
    $( "div.tumble" ).toggleClass( "bounce" )   //第一次执行
    <div class="tumble bounce">Some text.</div>  //执行结果
    
    $( "div.tumble" ).toggleClass( "bounce" )  //第二次执行
    <div class="tumble">Some text.</div>    //执行结果

    相关文章

      网友评论

        本文标题:jQuery属性&CSS操作

        本文链接:https://www.haomeiwen.com/subject/vpvcbqtx.html