.js
我购买的主题中的文档可能有错误:
$('.tagcloud a').wrap('<span class="st_tag" />');
我正在尝试解决它,但我不是程序员,所以我不知道如何解决。该网站是这样的:http ://www.framerental.com 。
.js
我购买的主题中的文档可能有错误:
$('.tagcloud a').wrap('<span class="st_tag" />');
我正在尝试解决它,但我不是程序员,所以我不知道如何解决。该网站是这样的:http ://www.framerental.com 。
您使用jQuery.noConflict();
So$
是未定义的。
你可以在这里阅读更多关于它的文档
尝试以这种方式修改您的代码(将$
符号添加到就绪函数):
jQuery(document).ready(function($) {
// Code that uses jQuery's $ can follow here.
});
功能错误在几乎所有内容管理系统中都很常见,有几种方法可以解决这个问题。
使用以下方法包装您的代码:
<script>
jQuery(function($) {
YOUR CODE GOES HERE
});
</script>
您还可以使用 jQuery 的 APInoConflict();
<script>
$.noConflict();
jQuery( document ).ready(function( $ ) {
// Code that uses jQuery's $ can follow here.
});
// Code that uses other library's $ can follow here.
</script>
另一个使用 noConflict 而不使用 document ready 的例子:
<script>
jQuery.noConflict();
(function( $ ) {
$(function() {
// YOUR CODE HERE
});
});
</script>
您甚至可以选择创建自己的别名以避免这样的冲突:
var jExample = jQuery.noConflict();
// Do something with jQuery
jExample( "div p" ).hide();
另一个更长的解决方案是将 $ 的所有引用重命名为 jQuery:
$( "div p" ).hide();
至jQuery( "div p" ).hide();
而不是这样做:
$(document).ready(function() { });
你应该这样做:
jQuery(document).ready(function($) {
// your code goes here
});
这是因为 WordPress 可能在将来或现在将 $ 用于 jQuery 以外的其他东西,因此您需要以 $ 只能在 jQuery 文档就绪回调中使用的方式加载 jQuery。
只需添加以下内容:
<script>
var $ = jQuery.noConflict();
</script>
到 header.php 中的 head 标签。或者,如果您想在管理区域(或不使用 header.php 的地方)中使用美元符号,就在您想要使用它的地方之前。
(可能存在一些我不知道的冲突,请对其进行测试,如果有,请使用此处或以下链接提供的其他解决方案。)
资料来源: http: //www.wpdevsolutions.com/use-the-dollar-sign-in-wordpress-instead-of-jquery/
正如一些人所建议的那样,您要么不包括 jquery toolkit/lib,要么存在各种冲突。测试:包括 jQuery 并像这样测试:
console.log($);
console.log($ === jQuery);
如果$
不是未定义的,并且$ === jQuery
记录为假,那么您肯定会遇到冲突。用你的替换可以$
解决jQuery
这个问题,但这可能非常乏味(所有额外的输入......)。通常我开始我的脚本$jq = _$ = jQuery;
至少有一个对 jQuery 对象的更短的引用。
当然,在您这样做之前,请检查您是否不小心覆盖了预先设置的变量:当然,console.log($jq, _jQ, _$);
无论哪个不 undefined
应该被单独留下
我添加了一个在该部分末尾加载的自定义脚本文件head
,并在顶部插入了以下内容:
(function (jQuery) {
window.$ = jQuery.noConflict();
})(jQuery);
(这是对Fanky答案的修改)
除了 noConflict,这也很有帮助:
(function( $ ) {
// Variables and DOM Caching using $.
var body = $('body');
console.log(body);
})( jQuery );
如果你已经包含了 jQuery,可能会有冲突。尝试使用jQuery
而不是$
.
我能够很容易地解决这个我简单的排队 jQuery
wp_enqueue_script("jquery");
jQuery可能会丢失。
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script>