在 Joomla 菜单上添加自定义属性

Add custom attribute on Joomla menus

我正在尝试向 Joomla 菜单上的项目添加属性但失败了。

我正在使用 Warp Framework 设计一个类似于 "one page" 的站点,并且 uikit 具有平滑滚动选项。我只需要在 link 上添加 "data-uk-smooth-scroll" 作为属性

我的菜单中有一些项目 link 锚点,但我希望它们感觉流畅。

在其他论坛上我读到我可以使用 Jquery 添加到所有以 # 开头的 href,我使用的代码在此

中失败
    $('a[href*=#]').prop('data-uk-smooth-scroll');

这是在 joomla 菜单选项中执行此操作的方式还是一种方式。

问候(对不起,我的英语太棒了)

我不认为使用 jquery 是最好的方法。您可以找到生成菜单的位置(模板文件或模块)并在那里添加 属性 。如果您想继续 jQuery 解决方案,您必须检查以下问题。

单参数prop()方法获取属性的值,不设置它。您必须使用以下语法:.prop( propertyName, value ).

另一个问题是 joomla 加载 jQuery in noConflict mode 因此 $ 调用必须更改为 jQuery,例如:

jQuery('a[href*=#]').prop('data-uk-smooth-scroll', value);

至于您选择的选择器,它太笼统了,将以文档中的所有锚点为目标。最好添加菜单 idclass 来限制它的范围,例如:jQuery('#menu_id a[href*=#]').

希望对您有所帮助。