获取元素的子标记名

vpa*_*oal 4 jquery

我想获取元素的子标记名称.

HTML:

<div class="element">
    <h1>title</h1>
</div>
<div class="element">
    <img src="http://2.bp.blogspot.com/-ma66w8WJsZ0/UBVcmt3XS4I/AAAAAAAAAWw/4UyVd2eR8A0/s1600/olympic-logo.thumbnail.jpg" />
</div>
<div id="debugger"></div>
Run Code Online (Sandbox Code Playgroud)

jQuery:

$(".element").bind("click", function(){

    var child = $(this).add("first-child").prop("tagName");

    $("#debugger").html(child);

});?
Run Code Online (Sandbox Code Playgroud)

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

谢谢.

http://jsfiddle.net/8Xg3G/2/

the*_*dox 10

$(this).children()[0].tagName
Run Code Online (Sandbox Code Playgroud)

要么

$(this).children().first().prop('tagName');
Run Code Online (Sandbox Code Playgroud)

.add()用于向jQuery对象数组添加新元素,但是您尝试获取现有元素的标记名称.所以,你需要一些getter方法.


使用JavaScript

this.firstChild.tagName
Run Code Online (Sandbox Code Playgroud)

要么

this.childNodes[0].tagName
Run Code Online (Sandbox Code Playgroud)

完整代码

$(".element").bind("click", function(){
    var child = $(this).children().first().prop('tagName');
    $("#debugger").html(child);
});
Run Code Online (Sandbox Code Playgroud)

DEMO