Jquery addClass不是一个函数

时间:2017-08-13 19:56:27

标签: javascript jquery html

我想要的是什么:

我想创建一个表单,根据联系人类型显示不同的输入字段(用户可以从下拉列表中选择联系人类型)。我尝试使用jQuery,但我有两个错误。

我是怎么做的:

HTTPS

错误是什么:

1:脚本仅在第二次下拉更改时启动。我想从第一次改变开始。

2:当我改变时,我收到了这个错误:

  

TypeError:member.removeClass不是函数

有什么问题?

4 个答案:

答案 0 :(得分:4)

  

1:脚本仅在第二次下拉更改时启动。我想从第一次改变开始。

这取决于如何调用TypeError: member.removeClass is not a function 。在不知道这些信息的情况下很难说出来。请注意,它应该只被调用一次,可能是在DOM加载时,因为它绑定了一个事件处理程序。

  

2:当我改变时,我收到了这个错误:

member
DOM节点

removeClass没有member.classList.remove("hidden")方法。要解决此问题,您可以执行以下两种操作之一:

  • $(member).removeClass("hidden") (使用原生API)
  • hidden (创建jQuery对象,并使用jQuery的API)

此外,每个调用首先删除// What has been gained here? $(member).removeClass('hidden').addClass('hidden'); 类,然后将其重新添加。这似乎最终没有效果。

corporation

如果您希望确保课程不会在元素上重复,那么您不必担心。本机API和jQuery都可以防止这种情况发生。

答案 1 :(得分:3)

因为$(corporation)是一个DOM元素,而不是一个jQuery节点,并且您正在尝试在其上使用jQuery函数。将其包装在像In [15]: mylist = [ {'key1' : 100, 'key2' : 110, 'key3' : 120}, {'key1' : 200, 'key2' : 210, 'key3' : 220}, {'key1' : 300, 'key2' : 310, 'key3' : 320}] In [16]: list(map(lambda x: x.update({"mewkey2" : x.pop ("key2")}), mylist)) Out[16]: [None, None, None] In [17]: mylist Out[17]: [{'key1': 100, 'key3': 120, 'mewkey2': 110}, {'key1': 200, 'key3': 220, 'mewkey2': 210}, {'key1': 300, 'key3': 320, 'mewkey2': 310}]

这样的jQuery选择器中

<强> jsFiddle example

答案 2 :(得分:2)

假设其他一切正常。变化:

var member = document.getElementById("private");

var member = $("#private");

答案 3 :(得分:0)

你遇到的问题是你正在将jQuery与常规的javasript混合使用,只有你使用jQuery才能在对象上使用removeClass,就像你想要做的那样。

另一件事是找不到:

#

没有找到&#34;私人&#34;换句话说,成员不会被创建。

这与.符号相关,使其成为id。 #是一个类,var member = document.getElementById("#private"); 是一个ID。

如果private是id,则执行以下操作:

showContact