2014-12-21 31 views
-3

我有一個HTML網頁,其中我需要找出所有具有display:none的元素,並使用腳本將它們設置爲display:block,我可以在控制檯中編寫或使用螢火蟲。將所有'display:none'轉換爲HTML中的顯示塊

已經有一個腳本存在,用於顯示錶單標籤中的所有隱藏元素。我需要一個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) + '"'; 
    } 
+1

是'顯示:none'加入通過一個共同的CSS文件?或通過'style = display:none'標籤?如果通過風格標籤,你是否打算只顯示這些時間來阻止或隱藏任何東西? – mk117

+0

也許這有助於:[jQuery是否可以獲得與元素相關的所有CSS樣式?](http://stackoverflow.com/questions/754607/can-jquery-get-all-css-styles-associated-with-an-element #answer-5830517)....使用該腳本來獲取'display:none'樣式,並在這些元素中添加'.show()',如果它們的屬性中包含該樣式的話。 – mk117

+0

您發佈的代碼與您的問題無關。請編輯您的問題,併發布迄今已嘗試的代碼。 –

回答

1

嘗試

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

不適用於我正在嘗試的頁面。只需要轉換顯示:無,而不是所有元素 – Rahul

+0

@Rahul這就是做這個答案,你試過嗎?如果不能按預期工作,請提供具體樣本 –

+0

一個缺點,那麼SPAN與'display:none;'set有什麼關係?你最好使用jQuery'.show()'方法來猜測內聯元素。但肯定OP問題沒有多大意義imho –

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

希望這有助於。 謝謝

+0

Nope.It顯示一個空數組,因爲我猜它只是單獨考慮文檔對象而不是所有元素 – Rahul

-1

這是一個工作解決方案。在JavaScript的第一功能從該計算器頁採取: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/

相關問題