我想要的是什么:
我想创建一个表单,根据联系人类型显示不同的输入字段(用户可以从下拉列表中选择联系人类型)。我尝试使用jQuery,但我有两个错误。
我是怎么做的:
HTTPS
错误是什么:
1:脚本仅在第二次下拉更改时启动。我想从第一次改变开始。
2:当我改变时,我收到了这个错误:
TypeError:member.removeClass不是函数
有什么问题?
答案 0 :(得分:4)
1:脚本仅在第二次下拉更改时启动。我想从第一次改变开始。
这取决于如何调用TypeError: member.removeClass is not a function
。在不知道这些信息的情况下很难说出来。请注意,它应该只被调用一次,可能是在DOM加载时,因为它绑定了一个事件处理程序。
DOM节点2:当我改变时,我收到了这个错误:
member
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}]
<强> 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