Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在WordPress中使用jQuery_Jquery_Wordpress - Fatal编程技术网

在WordPress中使用jQuery

在WordPress中使用jQuery,jquery,wordpress,Jquery,Wordpress,WP/jQuery的新手 我在WP中创建了一个简单的表单。不使用插件,只是手工编码 我现在尝试使用jQuery将数据从一个表单字段传递到另一个表单字段 我检查了jQuery库是否可用于页面,并使用wp_enqueue_脚本加载了一个自定义的.js文件 HTML(在WP页面中): 我已经在一个HTML页面(在WP之外)测试了代码,它肯定能工作 我想知道是否有人能告诉我我做错了什么?为什么它不起作用 棘手的是,jQuery的这个特定副本在默认情况下处于兼容模式。这意味着jQuery的典型“$”快捷方

WP/jQuery的新手

我在WP中创建了一个简单的表单。不使用插件,只是手工编码

我现在尝试使用jQuery将数据从一个表单字段传递到另一个表单字段

我检查了jQuery库是否可用于页面,并使用wp_enqueue_脚本加载了一个自定义的.js文件

HTML(在WP页面中):

我已经在一个HTML页面(在WP之外)测试了代码,它肯定能工作

我想知道是否有人能告诉我我做错了什么?为什么它不起作用

棘手的是,jQuery的这个特定副本在默认情况下处于兼容模式。这意味着jQuery的典型“$”快捷方式不起作用,因此它不会与任何其他也使用美元符号的JavaScript库(如MooTools或Prototype)冲突

摘自:

您可以按如下方式使用
jQuery

jQuery(document).ready(function ($) {
    $('#field_1').change(function () {
        $('#field_2').val($(this).val());
    });
});
编辑

WordPress附带的jQuery库设置为noConflict()模式(请参阅wp includes/js/jQuery/jQuery.js)。这是为了防止与WordPress可以链接的其他JavaScript库的兼容性问题

在noConflict()模式下,jQuery的全局$shortcut不可用


文档:

尝试检查您是否正确加载了jQuery文件。您可以通过在函数前后添加
console.log(message)
来检查函数是否正在启动,只是为了测试它。在Chrome上按Ctrl+Shift+I来检查控制台

例如:

$(document).ready(function () {

    console.log('jQuery initialized'); //check 1 - jQuery included

    $('#field_1').change(function () {
        $('#field_2').val($(this).val());
        console.log('function fired'); //check 2 - value changed
    });

});
您还可以尝试将jquerybycdn作为备选方案包含在HTML中

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.4/jquery.js" type="text/javascript">

我的坏


终于找到了问题所在。我在输入id名称中有一个语法错误(因此出现了“UncaughtTypeError:cannotreadproperty”querySelector“of null”)

感谢所有提供帮助的人


非常感谢!

转到查看页面源代码,检查页面上是否包含jQuery文件Hi Deep Kakkar,我检查了页面源代码。在关闭标记之前,custom.js文件正在与其他js文件一起加载。最后找到了问题所在。我在输入id名称中遇到语法错误(因此出现了“Uncaught TypeError:无法读取null的属性”querySelector')。非常感谢所有提供帮助的人。嗨,Tushar,感谢您的响应。尝试了此操作,但没有成功。它不起作用。两个错误:Uncaught TypeError:无法读取null的属性“querySelector”(在main.js中)Uncaught Error:语法错误,无法识别的表达式:(在jquery.js?ver=1.11.2:2中)
$(document).ready(function () {

    console.log('jQuery initialized'); //check 1 - jQuery included

    $('#field_1').change(function () {
        $('#field_2').val($(this).val());
        console.log('function fired'); //check 2 - value changed
    });

});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.4/jquery.js" type="text/javascript">