2013-02-01 116 views
1

我爲我的網站構建了一個jQuery滑塊。總共有3張幻燈片,每張幻燈片包含30-40張圖片,鏈接到一個單獨的頁面。使用jquery完全刪除href鏈接

我想徹底刪除幻燈片上未激活的href鏈接,然後在幻燈片處於活動狀態時再次添加它們。我已經嘗試了幾種方法,例如:

$('a').click(function(e){ 
e.preventDefault(); 
}); 

但是,這隻能阻止鏈接點擊並且不會實際刪除它。

關於我能做什麼的建議?

我想這樣做的原因是因爲谷歌不喜歡超過100頁的內部鏈接,我幾乎加倍!

感謝,丹

+1

$('a')。removeAttr('href') –

+0

你的意思是谷歌不喜歡。你說它不是freindly? –

+0

您能否展示一段代碼片段,將ypu帶到幻燈片中的下一張圖片? –

回答

4

請注意,谷歌將颳去原來的代碼,並不會注意導致js操縱的那個。

您可以在DOM沒有HREF開始,有一些像

<a data-href="url"> 

當圖像火災滑動的情況下,你可以激活它:

$(this).attr('href', $(this).data('href')) 

或者你實際上可以激活它們全部立刻在dom準備好

$('#carousel a').each(function() { 
    $(this).attr('href', $(this).data('href')); 
}); 
1

我不明白你的代碼,你爲什麼要聽的單擊事件? 如果您不想取消激活它們,您可以將$("a").css("display","none");稍後重新設置。如果你不想徹底刪除html,它是$("a").remove();

無論如何,這不會幫助你。 Google的索引器沒有啓用javascript,您必須更改原始html。

+0

上面的代碼只是一個粗略的例子,感謝其他的建議 – danyo

0

使用javas cript:void(0) in href用戶不會進入下一頁,頁面中不再使用網址。

試試這個代碼:

$('a').click(function(e){ 
    $(this).attr("href","javascript:void(0)"); 
}) 
1

如果你不能因爲某些原因,試試這個當前活動圖像上

$("active image identifier selector a").attr("href", "link to add"); 
$("all images selector").not("active image identifier selector").find("a").removeAttr("href") 

介意你使用removeAttr不會禁用鏈接,它完全刪除它,不知道如果那就是你想要做的。只是要確認,你是否希望鏈接停用或刪除。

e.preventDefault只禁用鏈接但不刪除它。如果你有第二個圖像活動,你做了像$(「圖像a」),attr(「href」,「鏈接添加」),你怎麼知道什麼鏈接添加到該圖像和之前圖像時,他們變得活躍,因爲你幾乎丟棄了href屬性。

一個解決方案,我將建議是存儲在數據屬性的鏈接,鏈接像

//store href in link data for each link to be deactivated 
$("all images selector").not("active image identifier selector").each(function(){ 

    var $this = $(this); 

    //get url of link 
    var url = $this.attr("href"); 

    //store url in a data attribute for that link 
    $this.data("my-url", url); 

    $(this).removeAttr("href"); 
}); 

//get data attribute of active image and readd href attribute 
$("active image identifier selector a").attr("href", $("active image identifier selector a").data("my-url")); 

試試這個,讓我知道是否有幫助。 請注意,它不是最有效的方法。可能會有更多的優化函數來循環鏈接,但讓它起作用是我首先想到的。

乾杯。

+0

我希望它們完全從html中刪除,當不活動時,然後在該特定幻燈片處於活動狀態時重新添加。 – danyo

+0

好吧,這是有道理的。嘗試我以上的應該做的竅門,如果沒有錯別字,但在刪除後讀取它們時,你會得到鏈接的來源?無論如何, –

+0

會通過js幫助添加鏈接?而不是試圖刪除它們? – danyo