Cha*_*erQ 5 html javascript forms tagname
今天我遇到了这个问题,它让我很烦恼......我正在维护一个JS项目并且有一条线:
node.tagName
Run Code Online (Sandbox Code Playgroud)
哪里node.nodeType是1.显然代码想要获取此元素的标记名称,它似乎适用于99.99%的网页...
可悲的是,当我在http://codeforces.com/problemset/problem/377/D上执行脚本时,它不起作用.原因是存在form具有属性的子节点的元素name="tagName".

的子节点form谁拥有财产性要素name可以像访问:node.NAME_VALUE(参考),所以node.tagName会得到其孩子的名字属性tagName,而不是节点的标签名称form.
有没有人遇到过这个问题?除了检查节点是否存在之外,还有其他解决方案form吗?
编辑1:
我在这里为jQuery解决了一个bug .我之所以这样做是因为jQuery可能更容易.prop("tagName")解决这个问题,而不是让所有浏览器解决这个问题.
顺便说一句,我认为任何人都不应使用类似tagName或nodeName作为HTMLInputElement的name价值.
我不是这些事情的专家,所以这可能不是您能得到的最佳答案,但无论如何......我可以想到两种解决方案:
1) 如果可以确定输入名称不存在,请改用nodeName。
2)使用element.clone(false).tagName(如document.getElementById('someid').clone(false).tagName)