繁体   English   中英

使用 jQuery 获取元素类型

[英]Get element type with jQuery

是否有可能使用 jQuery 找出带有 jQ​​uery 的元素的类型? 例如,元素是 div、span、select 还是 input?

例如,如果我尝试使用 jQuery 将值加载到下拉列表中,但相同的脚本可以将代码生成到一组单选按钮中,我是否可以创建如下内容:

$('.trigger').live('click', function () {
   var elementType = $(this).prev().attr(WHAT IS IT);
});

给定一个下拉列表,旁边有一个带有触发器类的按钮,我的elementType变量应该在按下按钮时返回select

以 jQuery 方式获取元素类型:

var elementType = $(this).prev().prop('nodeName');

在没有 jQuery 的情况下做同样的事情

var elementType = this.previousSibling.nodeName;

检查特定元素类型:

var is_element_input = $(this).prev().is("input"); //true or false

你也可以使用:

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

你应该使用tagName属性和attr('type')作为输入

正如 Distdev 所提到的,您仍然需要区分输入类型。 也就是说,

$(this).prev().prop('tagName');

会告诉你input ,但这并不能区分复选框/文本/收音机。 如果是输入,则可以使用

$('#elementId').attr('type');

告诉你checkbox/text/radio,这样你就知道是什么控件了。

你可以使用.is()

  $( "ul" ).click(function( event ) {
      var target = $( event.target );
      if ( target.is( "li" ) ) {
         target.css( "background-color", "red" );
      }
  });

来源

使用 get(0).tagName。看这个链接

在 tagName 上使用 Nodename :

nodeName 包含 tagName 的所有功能,以及更多功能。 因此 nodeName 始终是更好的选择。

DOM 核心

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM