2012-09-03 76 views
1

我正在尋找類似於this.id的元素用於懸停元素。當我將this.id插入return...部分時,返回的ID是ID container。任何想法如何跳轉,並轉到原來的Hovered元素的ID?jQuery獲取嵌套命令中的懸停元素的編號

$("#results p").hover(function() { 
    $("#container").prepend(function() { 
      return "<div id=\"tooltip\"><div id=\"tooltip-inside\">" + e.target.id + "</div></div>"; 
    }); 
}, function() { 
    $("#tooltip, #tooltip-inside").remove(); 
}); 
+0

凡'e'對象定義?它應該被定義爲'hover'的處理參數。 – VisioN

回答

1

您應該target對象hover回調讀取ID:

$("#results p").hover(function(e) { 
    var id = e.target.id; 
    $("#container").prepend(function() { 
      return "<div id=\"tooltip\"><div id=\"tooltip-inside\">" + id + "</div></div>"; 
    }); 
}, function() { 
    $("#tooltip, #tooltip-inside").remove(); 
}); 
+0

它總是很簡單。謝謝您的幫助。 – preahkumpii

1
$("#results p").hover(function() { 
    // get a reference value using jQuery. "this" refers to the element being hovered over 
    var myId = $(this).attr('id'); 
    $("#container").prepend(function() { 
      return "<div id=\"tooltip\"><div id=\"tooltip-inside\">" + myId + "</div></div>"; 
    }); 
}, function() { 
    $("#tooltip, #tooltip-inside").remove(); 
}); 
2
$("#results p").hover(function() { 
    var hovered = $(this); 
    $("#container").prepend('<div id="tooltip"><div id="tooltip-inside">'+hovered.attr('id')+'</div></div>'); 
}, function() { 
    $("#tooltip").remove(); 
}); 

我還提高了代碼升技。

而且如果你已經使用jQuery爲什麼不使用.attr()