Jquery 获取元素的子标记名

Jquery 获取元素的子标记名,jquery,Jquery,我想获取元素的子标记名 HTML: 我不明白为什么我总是得到DIV作为结果 多谢各位 或 this.childNodes[0].tagName .add()用于将新元素添加到jQuery对象数组,但您正在尝试获取现有元素的标记名。所以,你需要一些getter方法 使用JavaScript 或 this.childNodes[0].tagName 完整代码 .add将向当前jQuery集合添加一个元素,在本例中,$(this)$(此)包含div,当运行.prop('tagName')时,

我想获取元素的子标记名

HTML:

我不明白为什么我总是得到DIV作为结果

多谢各位

this.childNodes[0].tagName
.add()
用于将新元素添加到jQuery对象数组,但您正在尝试获取现有元素的标记名。所以,你需要一些getter方法


使用JavaScript

this.childNodes[0].tagName

完整代码


.add
将向当前jQuery集合添加一个元素,在本例中,
$(this)
$(此)
包含
div
,当运行
.prop('tagName')
时,jQuery返回集合中第一个元素的标记名,因此得到“div”

$(this).children().first().prop('tagName');
this.firstChild.tagName
$(".element").bind("click", function(){
    var child = $(this).children().first().prop('tagName');
    $("#debugger").html(child);
});
尝试
。改为使用children

var child = $(this).children().eq(0).prop("tagName");
尝试:

这将获得此的第一个子项


非常确定
.prop('tagName')
仅在jQuery 1.6+中有效。

您可以使用
事件
对象的
目标
属性,请尝试以下操作:

$(".element").bind("click", function(event){
    var target = event.target.localName; // or event.target.tagName;
    $("#debugger").html(target);
});

如果要使用数组表示法来获取原始DOM元素,是否有可能重复。first()冗余?@jackwanders
1+1=2
对每个人都是一样的。感谢mate。对于较旧的jQuery版本,请使用
.attr('tagName')
而不是
.prop('tagName')
var child = $(this).children().eq(0).prop("tagName");
var child = $(this).children(":first");
$(".element").bind("click", function(event){
    var target = event.target.localName; // or event.target.tagName;
    $("#debugger").html(target);
});