2014-01-22 22 views
1

有人试过这个免费的过滤器发生器吗?我真的不明白为什么这不起作用。 JS文件位于正确的目录中。我完全按照这个例子,但是过滤器根本没有显示。任何线索?这里是链接到工具http://tablefilter.free.fr/HTML表格过滤器发生器不工作

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
    <html xmlns="http://www.w3.org/1999/xhtml"> 
    <head><script type="text/javascript" language="javascript" src="TableFilter/tablefilter.js"></script> 
    <script language="javascript" type="text/javascript">    
    var tf = setFilterGrid("table1"); 
    </script> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
    <title>Untitled Document</title> 
    </head> 

    <body> 



<table id="table1" cellspacing="0" class="mytable filterable" > 
    <caption>WORLD INTERNET USAGE AND POPULATION STATISTICS</caption> 
    <tr> 
     <th>World Regions</th> 
     <th>Population (2007 Est.)</th> 
     <th>Population % of World</th> 
     <th>% Population (Penetration)</th> 
     <th>Usage % of World</th> 
    </tr> 
    <tr> 
     <td>Africa</td> 
     <td>933,448,292</td> 
     <td>14.2 %</td> 
     <td>3.5 %</td> 
     <td>3.0 %</td> 
    </tr> 
    <tr> 
     <td>Asia</td> 
     <td>3,712,527,624</td> 
     <td>56.5 %</td> 
     <td>10.5 %</td> 
     <td>35.6 %</td> 
    </tr> 
    <tr> 
     <td>Europe</td> 
     <td>809,624,686</td> 
     <td>12.3 %</td> 
     <td>38.6 %</td> 
     <td>28.6 %</td> 
    </tr> 
    <tr> 
     <td>Middle East</td> 
     <td>193,452,727</td> 
     <td>2.9 %</td> 
     <td>10.0 %</td> 
     <td>1.8 %</td> 
    </tr> 
    <tr> 
     <td>North America</td> 
     <td>334,538,018</td> 
     <td>5.1 %</td> 
     <td>69.4 %</td> 
     <td>21.2 %</td> 
    </tr> 
    <tr> 
     <td>Latin America/Caribbean</td> 
     <td>556,606,627</td> 
     <td>8.5 %</td> 
     <td>16.0 %</td> 
     <td>8.1 %</td> 
    </tr> 
    <tr> 
     <td>Oceania/Australia</td> 
     <td>34,468,443</td> 
     <td>0.5 %</td> 
     <td>53.5 %</td> 
     <td>1.7 %</td> 
    </tr> 
</table> 
</body> 
</html> 
+0

将脚本标记移动到''上方,以便它读取'' – Andy

+0

仍然一样。只是表格出现了。没有过滤器。 – user1033038

+0

它的作品!我不知道JS是如何放置的。它在网站上说,把它放在头部。 – user1033038

回答

1

移动你的脚本标签只是</body>上方,它读取

<script language="javascript" type="text/javascript"> 
    var tf = setFilterGrid("table1"); 
    </script> 
</body> 

这是因为DOM /页面元素需要加载,这样脚本有一些工作要做。

另一种方法是将<script>标签保留在他们所在位置,但将onload听众放置在body处。如果你读,你可能已经看到这样的代码:

<body onload="init()"> 

这是说,一旦<body>(和暗示,它包含的元素)加载功能init应该执行。所以,你可能有这样的事情,而不是:

<script language="javascript" type="text/javascript"> 
    function init() { 
    var tf = setFilterGrid("table1"); 
    } 
</script> 

如果你使用jQuery,这是通过添加ready listener to document解决了不同的方法来检查是否DOM已加载:

要么...

jQuery(document).ready(function() { 
    // your code here 
}); 

...或它的快捷方式:

jQuery(function() { 
    // your code here 
}); 

希望有所帮助。

+0

非常明确的解释。非常感谢。 – user1033038