Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.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
Javascript jQuery.on不触发_Javascript_Jquery_Forms - Fatal编程技术网

Javascript jQuery.on不触发

Javascript jQuery.on不触发,javascript,jquery,forms,Javascript,Jquery,Forms,我有以下代码复制在那是不工作的。“类型选择”框中有三个选项。如果选择了第一个真/假,我需要显示第一个div,如果选择了第二个或第三个选项,则需要显示第二个div。这个代码有什么问题 HTML: 未捕获的TypeError:无法调用未定义的方法“split” 更改$this.name.split-;给这个。名字。拆分- 这一行是你的问题: var arr = $(this).name.split("-"); on正常工作,但上面的行引发异常 var arr = $(this).attr("nam

我有以下代码复制在那是不工作的。“类型选择”框中有三个选项。如果选择了第一个真/假,我需要显示第一个div,如果选择了第二个或第三个选项,则需要显示第二个div。这个代码有什么问题

HTML:

未捕获的TypeError:无法调用未定义的方法“split”


更改$this.name.split-;给这个。名字。拆分-

这一行是你的问题:

var arr = $(this).name.split("-");
on正常工作,但上面的行引发异常

var arr = $(this).attr("name").split("-");

有几种方法可以解决此问题,上面是一个示例。

如果100%触发,则$this.name未定义时出现错误。我想你真正想做的就是这个名字

jQuery对象的行为与DomeElement对象不同,即它们的属性与.name不同。下一次,当您试图找出某些东西不起作用的原因时,请打开web控制台,您将在那里发现您的大部分问题。

这不是“打开”,而是“拆分”功能给您带来了错误,您正在尝试获取jquery对象的name方法,但该方法不可用…您需要使用attr从jquery对象获取名称..或者使用此DOM对象获取名称

试试这个

 var arr = $(this).attr('name').split("-");

注意if/else条件相同时的两个代码。。这样你就不会注意到区别了…在你的小提琴上看看吧


您的问题是在尝试访问未定义的$this时

试试这个


该名称不是有效的属性。而是使用id或更改访问var arr=$this.attr'name.split-

在打开的控制台上运行代码,您将看到错误消息;我甚至没想过在JSFIDLE上试用它。非常感谢。这仍然不起作用。他使用了一个未定义的变量tf。ifval==tfI打开了控制台,但我的站点上没有出现错误。我没有想到也要在JSFIDLE中尝试控制台,但它已经出现在那里了。非常感谢。
var arr = $(this).attr("name").split("-");
 var arr = $(this).attr('name').split("-");
 var arr=this.name.split('_');
this.name.split("-");