据我所知,使用turbolinks时,我可以在每次页面加载时触发JavsScript:
$(document).on('page:load', ready)
..但是当一个特定的页面(例如主页,所以不运行其他页面的JS)被加载时,只有触发JS块的最佳方法是什么?我想将内容包装在一个包装类中,就像这样一个页面我有一个特定的JS片段:
<div class="homeWrapper">
...homepage...
</div>
..然后做类似的事情:
$(".homeWrapper .whatever") or $(".homeWrapper").find(".whatever")
..但是我担心如果我必须为每个页面上的每个页面元素加载它可能会减慢页面速度(太多的jqueries)。有没有更好的方法来实现这一点,或者这是Turbolink页面最常用的方法。
答案 0 :(得分:0)
您可以在JQuery中使用.length()
函数来执行此操作:
var el = $(".element");
if ( el.length > 0 ) {
//do something here
}