2011-05-15 127 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