2012-02-26 62 views
0

可能重复:
Can jQuery provide the tag name?获得元素的标签名

我想有两种不同的情况来显示div标签内的文字:

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

Example

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"); 
      }); 

回答

0

你可以得到标签nme与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对象。

除此之外,我不能告诉你真正要求什么。