有没有办法在JavaScript中测试元素的类型?
答案可能需要也可能不需要原型库,但是以下设置确实使用了库.
function(event) { var element = event.element(); // if the element is an anchor ... // if the element is a td ... }
FlySwat.. 121
您可以使用typeof(N)
获取实际的对象类型,但您要做的是检查标记,而不是DOM元素的类型.
在这种情况下,请使用elem.tagName
或elem.nodeName
属性.
如果你想要真正有创意,你可以使用标记名字典和匿名闭包,如果是开关或if/else.
您可以使用typeof(N)
获取实际的对象类型,但您要做的是检查标记,而不是DOM元素的类型.
在这种情况下,请使用elem.tagName
或elem.nodeName
属性.
如果你想要真正有创意,你可以使用标记名字典和匿名闭包,如果是开关或if/else.
if (element.nodeName == "A") { } else if (element.nodeName == "TD") { }
也许您还必须检查节点类型:
if(element.nodeType == 1){//element of type html-object/tag if(element.tagName=="a"){ //this is an a-element } if(element.tagName=="div"){ //this is a div-element } }
编辑:更正了nodeType-value
roenving是正确的但是您需要将测试更改为:
if(element.nodeType == 1) { //code }
因为nodeType为3实际上是文本节点,nodeType为1是HTML元素.请参阅http://www.w3schools.com/Dom/dom_nodetype.asp