2011-05-15 130 views
2

我有一个qtip插件的问题。在鼠标悬停用户头像时,在qtip div中没有​​显示。 我上市使用者守则:JQuery QTip插件foreach函数

<% foreach (var user in Model){%> 
    <div class="avatar"> 
     <img src="<%=Html.Encode(user.showavatar())%>">  
    </div> 
    <div class="username" style="display:none"> 
      <%=Html.Encode(user.Username) %> 
    </div> 
<%}%> 

我将鼠标悬停在用户股利时的jQuery代码作秀的用户名。

$('.avatar').each(function() { 
    $(this).qtip({ 
     content: { 
      content: $(this).next('.username').html() 
     }, 
     show: 'mouseover', 
     hide: 'mouseout' 
    }) 
}); 

有什么建议吗?

+0

你把你的jQuery代码在文档准备功能? – BradBrening 2011-05-15 17:38:16

+0

当然是。但问题是,当我mousetop qtip div发生,但它是空的。 – gandil 2011-05-15 17:39:29

+0

如果解决了问题,请接受我的回答。否则,请评论或编辑您的问题w /更新有关您看到的确切问题。当然jonathan – 2011-05-15 18:16:41

回答

4

看起来你有一个额外的嵌套“内容”地图。更改这些行:

 content: { 
      content: $(this).next('.username').html() 
     }, 

这样:

 content: $(this).next('.username').html(), 
+0

谢谢乔纳森。我用另一种方式解决了它。但是无疑你的回答是正确的。 – gandil 2011-05-15 18:46:16

0
$('.avatar').qtip({ 
    content: { 
     content: $(this).next('.username').html() 
    }, 
    show: 'mouseover', 
    hide: 'mouseout' 
}); 

为什么使用每个函数?

+0

,因为我的部分视图列出了多个具有相同类“头像”的div。 – gandil 2011-05-15 17:43:37

+0

我在猜测,因为他希望“this”引用元素,这样'$(this).next('。username')'每次在循环周围都是不同的,所以它对应于正确的用户名。在你的代码中,表达式并不包含在一个函数中,所以在调用时它会被评估一次。 – 2011-05-15 17:46:33

+0

那么你有什么建议来解决这个代码jonathan? – gandil 2011-05-15 17:48:52