2010-07-16 75 views
3

我試圖根據錨標記的id屬性調用不同的工具提示。我的JavaScript代碼如下:jquery - 從函數調用中獲取html屬性

$(function() 
{ 
    $('.tippy').qtip(
    { 
     content: { 
      url: "http://mydomain.com/product/mini/" + $(this).attr("id") // doesn't work 
     }, 

     hide: { when: 'mouseout', fixed: true }, 

     position: { 
     corner: { 
      target: 'bottomRight', 
      tooltip: 'topLeft' 
     } 
     } 
    }); 

}); 

我的HTML代碼如下所示:

<div>this is the text and I would like to reference the <a href="product.php" class="tippy" id="123456">superproduct</a> with qtip.</div> 

我很堅持,你能不能幫我個忙好嗎?

回答

4

使用each()

$('.tippy').each(function() { 
    $(this).qtip({ 
      content: { 
       url: "http://mydomain.com/product/mini/" + $(this).attr("id") 
      }, 
      hide: { when: 'mouseout', fixed: true }, 
      position: { 
      corner: { 
       target: 'bottomRight', 
       tooltip: 'topLeft' 
      } 
      } 
    }); 
)}; 

之所以$(this)不會在你的代碼的工作很簡單:這是不是函數調用(至少不是哪裏this應該是指一個.tippy內元件)。當您構建傳遞給qtip()的對象時,將執行$(this).attr()。這意味着它與$('.tippy')具有相同的上下文,因此this很可能是指window

+0

@webcanguro:不客氣。如果它對你有幫助,你應該接受這個答案。 – 2010-07-17 18:34:43