获取元素的标签名称

3

可能重复:
jQuery能提供标签名吗?

我想在 div 标签内展示两种不同的文本:

  1. 当我悬停在第一个子元素上时,我希望看到文本作为 id 和标签元素的名称。
  2. 当我悬停在其他元素(而不是第一个子元素)上时,我希望看到文本“这不是第一个子元素”。

示例

HTML:

<ul id="ul1">ul1
   <li id="aa">1</li>
   <li id="bb">2</li>
   <li id="cc"class="elm">3</li>
   <li id="dd">4</li>
   <li id="ee">5</li>
</ul>
<ul id="ul2">ul2
   <li id="ul2-1">1</li>
   <li>2</li>
   <li>3</li>
   <li>4</li>
   <li>5</li>
</ul><br/>

<div>element-name</div>

CSS:

div,li{ width:40px; height:40px; margin:10px;
        float:left; border:2px blue solid; 
        padding:2px; }
ul{ width:100px; height:10px; margin:10px;
        float:left; border:2px blue solid; 
        padding:2px; }
  span { font-size:14px; }
  p { clear:left; margin:10px }​  

jQuery:

var $curr = $(".elm");
$curr.css("background", "#f99");

$("*:first-child")
        .css("background", "#cac")
        .hover(function () {
              $(this).css("background","green");

            $('div').text(this.id+$(this).tagname());

            }, function () {
              $(this).css("background", "#cac");
            });
1个回答

5

您可以使用DOM属性.tagName获取标签名称。这不是jQuery属性,而是像这样的DOM属性:

$("*:first-child").hover(function () {
    console.log(this.tagName);
});

您可以使用以下代码将id和标签名称作为div的文本:

$('div').text(this.id+this.tagname);

如果你已经有了一个jQuery对象并想从中获取DOM对象,你可以使用.get(0)或[0],例如myObj$.get(0)myObj$[0]。在事件处理程序中,this已经是触发事件的对象的DOM对象。
除此之外,我无法确定你真正想要什么。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接