2011-05-30 70 views
1

這裏我的代碼如何把<a>鏈接放在<span>的<a>?

<a href="http://linkurl" class="link" title="sometitle"> 
text link 

<span class="hidden-tooltip-data" style="display: none;"> <a 
href="http://www.google.ca"> my link here destroy everything </a 
</span> 
    </a> 

我用Poshy這裏腳本

 $('.link').each(function() { 
     var tooltip = $(".hidden-tooltip-data",this).html(); 
     $(this).attr("title",""); 
    $(this).poshytip({ 
    content: function(updateCallback) { 
     return tooltip; 
      } 
     }); 
     }); 
+6
+0

這是錯的,你爲什麼要那樣做? – kobe 2011-05-30 18:06:01

+0

你的問題沒有道理...... – VirtualTroll 2011-05-30 18:06:03

回答

4

嵌套的鏈接是非法的。這種情況在the HTML 4.01 Specification中明確提到。

+0

thx ..好吧我會改變我的插件哈哈大聲笑xD – 2011-05-30 18:19:21

1

首先你不應該這樣做的。原因在於兒童a被完全忽略,因爲它在父母a之下。

我建議你剛剛製作span包含包含多達span根據需要兩種不同的a標籤。

1

不應該把鏈接放在另一個鏈接。

0

默認情況下,Poshytip將讀取元素的title屬性並將其用作工具提示內容。但是,您希望在提示中包含鏈接,如果JavaScript被關閉(並且無法訪問),則將HTML放入title看起來會很難看。

你最好的辦法是包括純文本的title對下級的瀏覽器,包括在data屬性(obvously逃逸標記)增強的提示內容:

<a href="..." class="link" title="basic content" data-tip="enhanced content &lt;a href=&quot;...&quot;&gt;link&lt;/a&gt;">...</a> 

 

$('.link').each(function() { 
    $(this).attr('title','').poshytip({ content: $(this).data('tip') }); 
}); 

在這樣的屬性中包含標記顯然會變得有點混亂,所以如果你的提示有一個共同的格式,那麼包含URL作爲data屬性和b在腳本中使用標記。

$('.link').each(function() { 
    $(this).attr('title','').poshytip({ content: '<a href="' + $(this).data('tiplink') + '">link</a>' }); 
});