2015-06-27 33 views
1

我有一種情況,在這種情況下,我必須忽略一些div,我使用的是JSPDF插件, 這個想法是隻得到一些div(這是結果的用戶選擇),JSPDF獲取代碼爲HTML,所以它甚至可以隱藏div。如何忽略div哪個樣式=沒有JSPDF

這是我的代碼,但它不工作,任何幫助將不勝感激,

var doc = new jsPDF(); 

var specialElementHandlers = { 

    '#editor': function (element, renderer) { 

     return true; 
    } 

}; 


    $("div[style*='display:none']").remove(); 

    doc.fromHTML($('#resultat').html(),15, 15,{ 
     'width': 170, 
      'elementHandlers': specialElementHandlers 
    }); 




    doc.output("dataurlnewwindow"); 


<div id="resultatConflit" style="display:none"> 
        &lt;label><b>Test de Conflit</b>&lt;/label> 
        <div id="TNeer" style="display:none"> 
         &lt;label for="cnfl1">Test de Neer &lt;/label> 
         <div id="cnfl1"></div> 
        </div> 
        <div id="ADouloureux" style="display:none"> 
         &lt;label for="cnfl2">Arc Douleureux &lt;/label> 
         <div id="cnfl2"></div> 
        </div> 
        <div id="Yowm" style="display:none"> 
         &lt;label for="cnfl3">Yowm &lt;/label> 
         <div id="cnfl3"></div> 
        </div> 
        <div id="THKenedy" style="display:none"> 
         &lt;label for="cnfl4">Test de Howkins-Kenedy &lt;/label> 
         <div id="cnfl4"></div> 
        </div> 
        <div id="CATest" style="display:none"> 
         &lt;label for="cnfl5">Cross Abduction Test &lt;/label> 
         <div id="cnfl5"></div> 
        </div> . 

回答

0

兩種方法,第一種是比第二快。

  1. var $visibleDivs = $('div').not(':hidden');
  2. var $visibleDivs = $('div:not(:hidden)');

在你的代碼$("div[style*='display:none']")只會選擇這些都使得通過內嵌樣式屬性&不是這些都使得通過隱藏CSS規則的那些隱藏的隱藏層。

+0

謝謝你的回答,但我需要使用顯示屬性不可見性,我想知道是否有解決方案.. –

+0

你有沒有嘗試以上線..我猜測不..它會工作..'::隱藏「這裏不是可見性而只是顯示屬性。請查看https://api.jquery.com/hidden-selector/ **具有可見性的元素:hidden或opacity:0被認爲是可見的,因爲它們仍然佔用佈局空間。** – vinayakj

1

方法.fromHTML()不檢查您的CSS。我用.addHtml()style="display:none",它爲我工作。

因爲.pdf是要顯示div儘管在瀏覽器中不顯示不要使用opacity=0