2011-01-26 116 views
0

我有一系列元素#document h1, #content h2,我知道這些元素可能會出現在整個網站的頁面上;一些網頁並非全部。在應用Cufon之前檢查元素是否存在

我在做什麼迭代通過數組,並檢查元素是否存在 - 如果它不,我拼接它的數組。然後我使用toString方法將其餘元素傳遞給Cufon

<script> 
    $(function(){ 

     var eurostyle = ["#container h1","#content h2","#content h3","#content h4","#content .sidebar ul span", "#sitenav ul.menu span"]; 

     for (i=eurostyle.length-1;i >=0;i--) { 
      if (!$(eurostyle[i]).length) { 
       eurostyle.splice(i,1); 
      } 
     } 

     Cufon.replace(eurostyle.toString(),{fontFamily: "Eurostile"}); 

    }); 
</script> 

我很好奇,如果這個技術是值得的?
它是否提高性能或檢查每個元素是否存在,實際上減慢瀏覽器?

回答

0

Cufon已經檢查它們是否存在使用jquery的選擇器引擎(假設它存在)。選擇器越簡單,處理能力越低。

不幸的是,遵循這條路徑可能會導致非常乾淨的標記。

我的想法是,你的代碼只是與cufon重複。

+0

啊,Cufon檢查一個元素是否存在?那是的,這是毫無意義的。謝謝! – mindwire22 2011-01-26 23:09:33