2012-02-26 94 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對象。

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