2011-04-04 78 views
1

我有一個使用JQuery和JQuery UI的網站。錨點上的removeAttr(「href」)也刪除了文字顏色

對於一些鏈接,我不想使用JQuery UI Theme的顏色,所以我用自己的css覆蓋了。

這一切工作,直到我用$("#a_about").removeAttr("href")從主播(除非鏈接實際上不工作,我只想抓取點擊動作) 我驚訝,它也刪除了我的顏色應用css,並返回到JQuery UI Theme之前應用的顏色。

我試圖改變應用顏色的元素(錨本身,父容器等),但沒有任何幫助。 謝謝...

+0

你可以發佈一些html代碼嗎? – jackJoe 2011-04-04 09:01:16

回答

3

相反的:

$("#a_about").removeAttr("href") 

用途:

$("#a_about").attr("href","javascript:;") 
+0

完美運作。 – 2011-04-04 09:15:20

3

這是因爲在某些瀏覽器,錨a沒有屬性href是當作普通文本。因此請嘗試將href更改爲javascript:;,而不是將其刪除。

+0

這將回滾到頁面的頂部。 – Quentin 2011-04-04 09:05:09

+0

我認爲我們正試圖解決「改變文字顏色」的問題? – 2011-04-04 09:06:01

+0

我會假設針對引入不同問題的一個問題的修復將是不可取的。 – Quentin 2011-04-04 09:06:58

1

請勿觸摸href。而是在事件處理程序中使用Prevent the default action

這種方式鏈接將繼續工作,如果人們,例如,中間點擊它。

+0

但是,也許他不想讓人們認爲它會導致某個地方,當它不是? – 2011-04-04 09:06:12

+0

它確實在某個地方,如果沒有,它首先不會有href。 – Quentin 2011-04-04 09:07:40

+0

我不想中間點擊工作。我需要在那裏搜索引擎優化,但實際上,我打開一個對話框中顯示相同的內容。 – 2011-04-04 09:13:25

2

沒有href的錨不是一個真正的鏈接。正如其他人所說的設置它像#和「取消」點擊,也有:

$("#a_about").attr("href", "#").click(function() { return false; });