我是JQuery的新宠,我想在wordpress构建的特定页面中使用bootrap的spyscroll功能。
所以我的想法是注入
data-spy="scroll" data-target="#myScrollspy" data-offset="20"
在我的网页的正文标记
中将是
<body data-spy="scroll" data-target="#myScrollspy" data-offset="20">
使用document.ready或onload函数
$("body").append('data-spy="scroll" data-target="#myScrollspy" data-offset="20"');
我不确定我能不能这样做。
非常感谢
答案 0 :(得分:0)
在jquery中使用.data()
jQuery.data()方法允许我们以一种不受循环引用安全的方式将任何类型的数据附加到DOM元素,从而避免内存泄漏。
$("body").data("spy", "scroll");
$("body").data("target","#myScrollspy");
$("body").data("offset","20");
或替代方式
$.data( document.body, "spy", scroll);
$.data( document.body, "target", "#myScrollspy" );
$.data( document.body, "offset", "20" );
答案 1 :(得分:0)
不,你不能。 append方法用于在父级内部插入新的HTML元素,例如<div>...</div>
等。要使用jQuery在HTML元素中插入新属性,您可以使用.attr()
方法:
$( "body" ).attr( "data-spy", "scroll" );
$( "body" ).attr( "data-target", "#myScrollspy" );
$( "body" ).attr( "data-offset", "20" );
希望这是你想要的。
答案 2 :(得分:0)
我已经添加了您的代码,但似乎wordpress有一些代码机制可能会导致此代码失效。
我终于通过使用此代码找到了另一种解决方案:
$('body').scrollspy({ target: '#myScrollspy', offset:100 }
也许有人可以告诉我,如果wordpress拒绝在body标签中注入元素?