簡體   English   中英

使用jquery向鏈接添加錨點

[英]Add anchor to links using jquery

我是javascript的新手。 需要刪除任何現有的錨點(例如:#page33)使用javascript或jquery動態地(客戶端)向列表中的所有鏈接添加其他錨點(例如:#page1):

初始html(來自服務器):

<ul id="lang_menu">
    <li><a href="home.php?lang=eng#page33">English</a></li>
    <li><a href="home.php?lang=tam#page33">Tamil</a></li>
    <li><a href="home.php?lang=sin#page33">Sinhala</a></li>
</ul>

這應該像(在客戶端用#page1替換#page33):

<ul id="lang_menu">
    <li><a href="home.php?lang=eng#page1">English</a></li>
    <li><a href="home.php?lang=tam#page1">Tamil</a></li>
    <li><a href="home.php?lang=sin#page1">Sinhala</a></li>
</ul>

這是我需要這個開發網站的地方

請幫我。 提前致謝...

試試這種方式: -

$(function () {
    $('#lang_menu li a').attr('href', function (_, oldHref) {
        return oldHref + "#page1";
    });
});

演示

對於您的更新問題,您可以嘗試這樣的事情:

使用正則表達式替換url中的#part。

$(function () {
    $('#lang_menu li a').attr('href', function (_, oldHref) {
        oldHref =  oldHref.replace(/\#(.*)/g, "#page1");
         if(oldHref.indexOf('#') == -1)
            oldHref += "#page1";
        return oldHref;
    });
});

DEMO2

如果你正在處理很多DOM元素,那么懶得添加錨點會更便宜。

jQuery("a").bind("click", function(e) {
  e.preventDefault();
  document.location = jQuery(this).attr("href") + "#page1";
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM