我正在尝试在单独的div中添加一些多个表单字段。但是通过添加一些带按钮的div我在单击div中的按钮时会出现以下错误:
对象#没有方法'点击'
当我在第二个或第三个div下移动</form>
标记时出现此错误。当我把</form
放在我的第一个div下面时,我没有收到错误。表单总共有4个div,都带有一串按钮。
下一个按钮只显示下一组按钮(简单的jquery slideup / slidingown)。每个按钮都会触发一个名为win()
的函数,如此
<input type=button class="team round1" value="a1" name="WIN0_1" onclick="win(this)"/>
现在每个div我给了一些相同名称的按钮(例如:name="WIN0_1"
存在4次)
对于这个混乱的帖子感到抱歉,但我希望有人有个建议
PS:对于单独的div中的表单我遵循this教程。
答案 0 :(得分:3)
NodeList
对象是Node
个对象的集合,通常由childNodes
或getElementsByTagName
/ getElementsByTagNameNS
返回。搜索代码.click(
,您可能会发现它附加到一个对象,该对象的值是其中一个操作的结果,而不是您期望的jQuery对象。
通过在JS控制台中键入以下内容,您可以轻松地重现此错误以理解我的意思:
document.getElementsByTagName("div").click();
如果您正在努力找到问题的原因,那么您需要发布您的代码。
答案 1 :(得分:2)
好的,所以基于你的代码http://jsfiddle.net/123js/Xm5Rt看起来像通过复制带有输入的div来获得这一行上的按钮集合:
var winnerButton = winner.form.elements["WIN"+nextlevel+"_"+nextgame];
所以winnerButton
不是1,而是多个按钮。
尝试触发元素集合上的click()
时,会出现您提到的错误。
解决方案可能有很多东西......要知道你必须发布完整的html(形式+ div +输入),这样我们才能看到它。