如何查找元素当前的显示方式?

时间:2012-04-06 05:16:34

标签: javascript jquery

我必须存储元素display属性的值noneblockinline ...),以便稍后恢复。如果从css样式表设置element.style.display属性,则display返回空字符串。我如何获得计算值?

解决方案可以使用jQuery或其他库。

5 个答案:

答案 0 :(得分:3)

var myDisplay = $('#YourControl').css('display');

这将为您提供可以存储的显示属性

答案 1 :(得分:1)

在这种情况下,他们说:显示属性是自动存储的,

var myDisplay = $('#YourControl').css('display');

如果您想在元素中存储其他数据,

$("#element").data('foo', 52);

恢复存储在此元素中的数据

var mystoredData = $("#element").data('foo');

答案 2 :(得分:1)

如果您没有jQuery,可以使用getComputedStyle来检测显示属性值:

window.getComputedStyle(YOUR_DOM_ELEMENT).cssText.split('display: ')[1].split(';')[0]

如果你有jQuery,那么就像别人说的那样使用.css('display')

答案 3 :(得分:1)

您可以将display属性存储到每个元素的.data()

$('.box').on('click',function(){
    displayProp = $(this).css('display');           // read the .css display property
    $(this).data('storedDisplayProp', displayProp); // store it into element data
    $(this).css({display:'none'});                  // modify the .css display
});

并检索它:

$('#undo').on('click',function(){
  $('.box').each(function(){
    $(this).css({display: $(this).data('storedDisplayProp') }); // read stored data and reset
  });
});

HERE IS A DEMO

答案 4 :(得分:0)

$("#myElemId").css("display");