在jQuery中,如果有对元素的引用,如何确定它是哪种元素,例如输入或下拉列表?有什么办法找出答案吗?

重复项:

如何确定jQuery中匹配元素的元素类型?

评论

重复:stackoverflow.com/questions/341900/…

可能是重复的,但答案更好,而另一个则标记错误。

@Rumpleteaser如果“另一个”的标签不正确,那么为什么不使用它下面的编辑按钮并对其进行完美标记呢?

#1 楼

如果元素是输入,则以下内容将返回true:

$("#elementId").is("input") 


,或者您可以使用以下内容获取标签的名称:

$("#elementId").get(0).tagName


评论


当使用$(“#elementId”)。get(0).tagName时,tagName将全部大写-TR,DIV等

–贾德
2012-10-18 14:41

好的,所以tagName属性返回一个全大写值,我只是在上面做了一个.toLowerCase()

–pythonian29033
13年8月15日在12:15

var elementType = $(this).prop('tagName');

–达摩达(Damodar Bashyal)
2014年5月9日,0:58

在不同的浏览器中使用nodeName可能更加一致:stackoverflow.com/questions/4878484/…

–内森·琼斯(Nathan Jones)
2014年6月2日在18:12

注意,使用$(“#elementId”)。is(“:input”)通常会告诉您,如果要处理任何形式的表单元素,而无需检查其特定类型(引用)。

– Trejder
15年4月16日在8:11

#2 楼

可以将.prop()与tagName一起用作要获取的属性的名称:

$("#elementId").prop('tagName'); 


#3 楼

值得注意的是,@ Marius的第二个答案可以用作纯Javascript解决方案。

document.getElementById('elementId').tagName