• jQuery根据style筛选元素


    <div style="display:block;">
        <input/>
    </div>
    <div style="display:none;">
        <input/>
    </div>

    如上的两个input元素,获取两个input元素,常规的按index、id或判断等形式也能实现,但是很麻烦,可以用以下办法

    $(".div[style='display:block;'] input")

    注意“;”分号不能省略.

    这里的style是指元素的style属性,并非css属性,否则如下改变之后同样的方法获取元素会失效

    if($(this).css("display")=='none'){
        $(this).attr('display','block');
    }else{
        $(this).css('display','none');
    }

    如要操作css属性,可选用attr方法,如

    if($(this).css("display")=='none'){
        $(this).attr('style','display:block;');
    }else{
        $(this).attr('style','display:none;');
    }

    如欲详细了解css属性与元素属性,请移步@参考文章,原文全文如下

     使用jquery的.attr( )方法去给div隐藏,这样写的 $("#div_id").attr("display","none"),发现并没有生效,但是docunment.getElementById("div_id").style("display","none")就生效了。 而且再调试的时候发现,使用$("#div_id").attr("width","180")也是生效的....
    
     
    
    原因:应该写成 $("#div_id").css("display","none")  
    
                display属于css中的属性,而不属于该div的属性,而width既是div的属性,也是css的属性,所以会出现上面的情况,以后再使用jquery去修改某一标签的style 使用css( ),修改元素的属性  使用attr( )。
    
     
    
    总结:
    
    attr(): 获取和修改的是元素的属性,如img的src属性和alt属性,a链接的href属性等等。
    
    css() :获取和修改的是样式里面的属性,即是style里面的属性。
    ---------------------
    作者:chdyiboke
    来源:CSDN
    原文:https://blog.csdn.net/chdyiboke/article/details/82700001
    版权声明:本文为博主原创文章,转载请附上博文链接!
    View Code
  • 相关阅读:
    cookie和session
    图书馆里系统前端页面
    图书管理系统后端接口
    Vue组件
    axios前端登录
    django配置跨域并开发测试接口
    axios封装
    初始化vue项目
    model的基础操作
    Windows 系统版本介绍
  • 原文地址:https://www.cnblogs.com/yanan7890/p/11698403.html
Copyright © 2020-2023  润新知