在应用Cufon之前检查元素是否存在

时间:2011-01-26 22:54:31

标签: javascript jquery performance cufon

我有一系列元素#document h1, #content h2,我知道这些元素可能出现在我网站的各个页面上;有些页面并非全部。

我正在做的是遍历数组并检查元素是否存在 - 如果不存在,我将它从数组中拼接出来。然后,我使用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>

我很好奇这种技术是否值得吗? 它是否提高了性能,还是检查每个元素是否存在,实际上是否会降低浏览器的速度?

1 个答案:

答案 0 :(得分:0)

Cufon已经使用jquery的选择器引擎检查它们是否存在(假设它存在)。选择器越简单,您将使用的处理能力越低。

不幸的是,遵循此路径可能会导致非常严重的标记。

我的想法是,你的代码只是与cufon重复。