zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    条件变量:为什么要与互斥锁配套使用?为什么要使用while来避免虚假唤醒?
    【转】高性能IO之Reactor模式
    LeetCode127:单词接龙
    CF1245F: Daniel and Spring Cleaning
    权值线段树学习笔记
    luogu_4317: 花神的数论题
    luogu_2605: 基站选址
    入门平衡树: Treap
    CF1244C: The Football Season
    luogu_1156: 垃圾陷阱
  • 原文地址:https://www.cnblogs.com/yanan7890/p/11698403.html
Copyright © 2011-2022 走看看