簡體   English   中英

如何使用JavaScript更改鏈接的HREF?

[英]How to change a link's HREF using JavaScript?

我正在制作游戲,我想讓玩家單擊以切換頁面顏色。 具體來說,我希望玩家能夠將Bootstrap主題(遵循從Bootswatch提取的主題)從Cerulean更改為Darkly,以使頁面樣式看起來有所不同。

為此,我需要能夠使用JavaScript更改鏈接的HREF。 我該怎么做呢?

由於您使用的是twitter-bootstrap ,因此我假設您使用的是jQuery 您可以通過簡單的調用來更改<link>href屬性:

$("link[href=OLDHREFYOUWANTTOCHANGE]").attr("href", newURL.com)

但是,恐怕這不一定會為頁面重新加載CSS。 也許您可以為網站設置window.location.hash (或其他一些參數),並根據其加載特定的樣式表集。

例如,在頁面頂部:

<script>
    var hash = window.location.hash;
    if (hash === "#blue")
        //add blue stylesheet
    else
        //add red stylesheet
</script>

使其正常工作的最簡單方法是簡單地重新加載頁面,並僅根據需要加載特定的CSS文件。

但是您可以像這樣添加一個新的CSS文件,不確定它是否在所有情況下都能正常工作,因為它不會重置您的舊CSS:

var link = $('<link>');
link.attr({
        type: 'text/css',
        rel: 'stylesheet',
        href: <your CSS file url>
});
$('head').append(link); 

如果您使用的是jQuery,請使用以下代碼:

$(location).attr('href','http://www.newurlorwhatever.com'); 

暫無
暫無

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

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