在Wordpress模板中运行jQuery脚本

时间:2013-03-28 18:22:21

标签: javascript jquery wordpress templates attr

我试图在Wordpress网站的header.php文件中运行以下脚本:

<script>
    jQuery(function($) {
        jQuery('[href=#membership]').attr( 'data-menu-top', '500' );
    });
</script>

当我跑步时:

jQuery('[href=#membership]').attr( 'data-menu-top', '500' );

...在Firebug的控制台中,它可以正常工作但放在header.php文件内的脚本块中,它不会像应该的那样将属性添加到锚点。我已经没想完了。

*我已经尝试将脚本块移动到很多地方,包括footer.php,就在关闭body标签之前,但似乎没有任何工作。

- 的更新 - 我知道了。我认为这是我修复和不正确定位的另一个插件的JQuery语法错误的组合。

这是我最后的工作代码:

<script>
        jQuery(function($) {
            jQuery('#menu-item-14 a').attr( 'data-menu-top', '25' );
            jQuery('#menu-item-11 a').attr( 'data-menu-top', '1300' );
            jQuery('#menu-item-12 a').attr( 'data-menu-top', '500' );
            jQuery('#menu-item-28 a').attr( 'data-menu-top', '500' );
            jQuery('#menu-item-13 a').attr( 'data-menu-top', '500' );
        });
    </script>

我仍在修补从样式角度获取正确的属性,但它正确地显示在源代码中。

顺便说一句,这是为了在Wordpress中使用Skrollr库来进行正确的哈希导航。

2 个答案:

答案 0 :(得分:0)

在关闭wp_head();之前总是</head>,这是Wordpress的要求。

也适用于页脚,在结束wp_footer()

之前</body>

如果您在<script>标记内使用jquery脚本,则会出现这种情况。最好使用http://codex.wordpress.org/Function_Reference/wp_enqueue_script

将其排队

答案 1 :(得分:0)

试试使用:

jQuery(function($) {
        $('[href=#membership]').attr( 'data-menu-top', '500' );
    });