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