【问题标题】:JQuery style display valuejQuery样式显示值
【发布时间】:2020-03-05 02:55:00
【问题描述】:

如何查看元素的显示值

<tr id="pDetails" style="display:none">

$("tr[id='pDetails']").attr("style") 给我'display:none'

我想编写一个 jquery 脚本,它只返回 display 的值为'none'

这可能吗?

【问题讨论】:

    标签: jquery css


    【解决方案1】:

    只需使用一个参数调用css

      $('#idDetails').css('display');
    

    如果我理解你的问题。否则,您需要 cletus 的答案。

    【讨论】:

    • 我认为这个答案可能是错误的。如果我错了,请原谅,但我认为 .css() 返回计算的样式,其中可以包括继承的样式。我认为 OP 想要获得内联样式。这是很难做到的!
    【解决方案2】:

    嗯,一方面可以简化你的情绪:

    $("#pDetails").attr("style")
    

    因为任何给定 ID 都应该只有一个元素,并且 ID 选择器将比您正在使用的属性 ID 选择器快得多

    如果只想返回显示值什么的,使用css():

    $("#pDetails").css("display")
    

    如果您想搜索没有显示的元素,那么可靠地做到这一点要困难得多。这是一个不会 100% 的粗略示例:

    $("[style*='display: none']")
    

    但如果你只是想找到隐藏的东西,使用这个:

    $(":hidden")
    

    【讨论】:

      【解决方案3】:

      如果你想查看显示值,https://stackoverflow.com/a/1189281/5622596已经发布了答案。

      但是,如果不是检查元素是否具有style="display:none" 的样式,而是想知道该元素是否可见。然后使用.is(":visible")

      例如: $('#idDetails').is(":visible");

      这将是true(如果可见)和false(如果不可见)。

      【讨论】:

        【解决方案4】:

        这将返回您所要求的内容,但我不建议使用这样的 css。使用外部 CSS 而不是内联 CSS。

        $("tr[id='pDetails']").attr("style").split(':')[1];
        

        【讨论】:

        • 这很糟糕,因为当样式属性不仅仅是 display:blah(任何东西,比如 width:100,都会混入 split(':')[1] )
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-05-09
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多