我必须存储display
元素 ( none
, block
, inline
...) 的属性值,以便以后恢复它。如果属性是从 CSS 样式表设置的,element.style.display
则返回一个空字符串。display
如何获得计算值?
该解决方案可以使用 jQuery 或其他库。
我必须存储display
元素 ( none
, block
, inline
...) 的属性值,以便以后恢复它。如果属性是从 CSS 样式表设置的,element.style.display
则返回一个空字符串。display
如何获得计算值?
该解决方案可以使用 jQuery 或其他库。
var myDisplay = $('#YourControl').css('display');
这将为您提供您可以存储的显示属性
万一您没有 jQuery,您可以使用它getComputedStyle
来检测显示属性值:
window.getComputedStyle(YOUR_DOM_ELEMENT).cssText.split('display: ')[1].split(';')[0]
如果你有 jQuery,那么.css('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
});
});
在这种情况下,正如他们所说:显示属性是自动存储的,
var myDisplay = $('#YourControl').css('display');
如果您想在元素中存储其他数据,
$("#element").data('foo', 52);
恢复存储在此元素中的数据
var mystoredData = $("#element").data('foo');
$("#myElemId").css("display");