jQuery在嵌套命令中获取悬停元素的id

时间:2012-09-03 12:28:42

标签: javascript jquery html

我正在寻找类似于this.id的悬停元素。当我将this.id插入return...部分时,返回的ID为ID container。任何想法如何跳转到原来的悬停元素的id?

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

3 个答案:

答案 0 :(得分: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()

答案 1 :(得分: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();   
});

答案 2 :(得分: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();   
});