转换所有'显示:无'以HTML格式显示块

时间:2014-12-21 16:19:21

标签: javascript jquery html

我有一个HTML网页,其中我需要查找具有display:none的所有元素,并使用脚本将它们设置为display:block,我可以在控制台中或使用Firebug编写。

现在已经有一个脚本可以显示表单标签中的所有隐藏元素。我需要display:nonedisplay:block的类似脚本。

   var snapHidden = document.evaluate("//input[@type='hidden']",
       document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
   for (var i = snapHidden.snapshotLength - 1; i >= 0; i--) {
       var elmHidden = snapHidden.snapshotItem(i);
       elmHidden.style.MozOutline = '1px dashed #666';
       elmHidden.type = 'text';
       elmHidden.title = 'Hidden field "' +
           (elmHidden.name || elmHidden.id) + '"';
   }

3 个答案:

答案 0 :(得分:2)

尝试

$('*').filter(function(){
   return $(this).css('display') == 'none';
}).css('display', 'block')

答案 1 :(得分:1)

    $('body').find(':hidden').each(function(){
       $(this).show();
    });

希望这会有所帮助。 感谢

答案 2 :(得分:-1)

这是一个有效的解决方案。 javascript中的第一个函数取自此stackoverflow页面:jquery-check-if-element-has-a-specific-style-property

HTML:

<div id="list1">a_1</div>
<div id="list2">a_2</div>
<div id="list3" style="display:none;">a_3</div>
<div id="list4">b_1</div>
<div id="list5">b_2</div>
<div id="list6" style="display:none;">b_3</div>
<div id="list7">c_1</div>
<div id="list8" style="display:none;">c_2</div>
<div id="list9" style="display:none;">c_3</div>

JAVASCRIPT:

 (function ($) {
    $.fn.inlineStyle = function (prop) {
         var styles = this.attr("style"),
             value;
         styles && styles.split(";").forEach(function (e) {
             var style = e.split(":");
             if ($.trim(style[0]) === prop) {
                 value = style[1];           
             }                    
         });   
         return value;
    };
}(jQuery));



 $(document).ready( function() {

  $('*:hidden').each(function(){

    var display_prop = $(this).inlineStyle("display");
    if(display_prop){
    $(this).show();
    }
   });

 });

FIDDLE:http://jsfiddle/d1oae3cL/1/