Get element type with jQuery
是否可以使用jquery通过jquery找到元素的类型?例如,元素是DIV、SPAN、SELECT还是INPUT?
例如,如果我试图用jquery将值加载到下拉列表中,但是同一个脚本可以在一组单选按钮中生成代码,我可以创建如下内容吗:
1 2 3 | $('.trigger').live('click', function () { var elementType = $(this).prev().attr(WHAT IS IT); }); |
给定一个下拉列表,旁边有一个按钮和触发器类,我的
获取元素类型jquery方式:
1 | var elementType = $(this).prev().prop('nodeName'); |
在没有jquery的情况下执行相同的操作
1 | var elementType = this.previousSibling.nodeName; |
正在检查特定元素类型:
1 | var is_element_input = $(this).prev().is("input"); //true or false |
您还可以使用:
1 | $("#elementId").get(0).tagName |
您应该使用
正如distdev提到的,您仍然需要区分输入类型。这就是说,
1 | $(this).prev().prop('tagName'); |
会告诉你
1 | $('#elementId').attr('type'); |
告诉你复选框/文本/收音机,这样你就知道它是什么样的控制。
您可以使用
1 2 3 4 5 6 | $("ul" ).click(function( event ) { var target = $( event.target ); if ( target.is("li" ) ) { target.css("background-color","red" ); } }); |
见源
使用get(0).tagname。看到这个链接
在标记名上使用节点名:
nodeName contains all functionalities of tagName, plus a few more. Therefore nodeName is always the better choice.
见DOM核心