溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

怎么在HTML中設(shè)置點(diǎn)擊超鏈接后變成灰色

發(fā)布時(shí)間:2021-03-04 17:48:28 來(lái)源:億速云 閱讀:320 作者:Leah 欄目:web開(kāi)發(fā)

這篇文章給大家介紹怎么在HTML中設(shè)置點(diǎn)擊超鏈接后變成灰色,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。

html有什么特點(diǎn)

1、簡(jiǎn)易性:超級(jí)文本標(biāo)記語(yǔ)言版本升級(jí)采用超集方式,從而更加靈活方便,適合初學(xué)前端開(kāi)發(fā)者使用。 2、可擴(kuò)展性:超級(jí)文本標(biāo)記語(yǔ)言的廣泛應(yīng)用帶來(lái)了加強(qiáng)功能,增加標(biāo)識(shí)符等要求,超級(jí)文本標(biāo)記語(yǔ)言采取子類(lèi)元素的方式,為系統(tǒng)擴(kuò)展帶來(lái)保證。  3、平臺(tái)無(wú)關(guān)性:超級(jí)文本標(biāo)記語(yǔ)言能夠在廣泛的平臺(tái)上使用,這也是萬(wàn)維網(wǎng)盛行的一個(gè)原因。 4、通用性:HTML是網(wǎng)絡(luò)的通用語(yǔ)言,它允許網(wǎng)頁(yè)制作人建立文本與圖片相結(jié)合的復(fù)雜頁(yè)面,這些頁(yè)面可以被網(wǎng)上任何其他人瀏覽到,無(wú)論使用的是什么類(lèi)型的電腦或?yàn)g覽器。

操作環(huán)境:windows7系統(tǒng)、html5版,DELL G3電腦。

HTML設(shè)置點(diǎn)擊超鏈接變成灰色的方法:

一、尋找HTML超鏈接

要想讓超鏈接失效變灰色,首先要做的事情是找到超鏈接。尋找超鏈接的方法有很多,如果采用W3C的方法,就是如下寫(xiě)法:

document.getElementsByTagName("a")

如果覺(jué)得W3C的方法太長(zhǎng)了或者不美觀(guān),可以使用一些JavaScript庫(kù),例如jQuery或者M(jìn)ootools。這樣獲取超鏈接就非常簡(jiǎn)潔。

您也可以使用在<a></a>標(biāo)簽上加上ID的方式,但是有個(gè)小缺點(diǎn)。如果您是針對(duì)全篇的超鏈接,這種加ID的方式就增大了工作量。

二、改變HTML超鏈接

找到超鏈接之后,接下來(lái)要做的事情就是改變超鏈接,使其失效并且變成灰色。讓超鏈接失效的方式有好幾種,最常見(jiàn)的就是把href屬性設(shè)為“#”。實(shí)際上這種方式根本就沒(méi)有改變超鏈接,只是使得href屬性沒(méi)有指向一個(gè)合理的鏈接而已。

真正改變超鏈接的方式是讓其變?yōu)槠胀ㄎ谋?,而且文本的字體顏色是灰色的。如同以下效果:

怎么在HTML中設(shè)置點(diǎn)擊超鏈接后變成灰色

好了,閑話(huà)就不扯了,讓我們進(jìn)入正題。下面的代碼是HTML文檔一加載完畢就立刻執(zhí)行函數(shù)。

var addLoadEvent=function(func) {
    var oldonload = window.onload;
    if (typeof window.onload != 'function') {
        window.onload = func;
    } else {
        window.onload = function() {
            if (oldonload) {
                oldonload();
            }
            func();
        }
    }
};

這個(gè)函數(shù)是為了后面加載查找超鏈接的函數(shù)。下面是獲取HTML文檔中超鏈接,并且使其失效變灰色。

var getLinks=function() {
if(!document.getElementsByTagName)return false;
if(!document.createElement)return false;
if(!document.getElementsByName("a"))return false;
    var links = document.getElementsByTagName("a");
    for (var i = 0; i < links.length; i++) {
        //判斷href屬性是否包含“#”符號(hào)
        if ((links[i].getAttribute("href").indexOf("#")) >= 0) {
            var para = document.createElement("p");
            var fon = document.createElement("font");
            fon.setAttribute("color", "#808080");
            fon.innerHTML =links[i].lastChild.nodeValue;
            var content = para.appendChild(fon);
            replaceEach(links[i], content);
        } else {
            links[i].style.color = "990033";
        }
    }
};

通過(guò)閱讀以上代碼,相信讀者已經(jīng)明白了。改變超鏈接的方式實(shí)際上是用<p>替換了<a>標(biāo)簽。并且在<p>標(biāo)簽中內(nèi)嵌了<font>標(biāo)簽,<font>的顏色設(shè)為了灰色,就達(dá)到了我們想要的效果。

其中用到了替換函數(shù)replaceEach,下面給出replaceEach函數(shù)的代碼。

//替換HTML元素
var replaceEach=function(targetNode, newNode) {
    var targetParentNode = targetNode.parentNode;
    var newParentNode = newNode.parentNode;
    //若 targetParentNode 和 newParentNode 都存在父節(jié)點(diǎn)
    if (targetParentNode && newParentNode) {
        targetParentNode.replaceChild(newNode.cloneNode(true), targetNode);
    } else {
        newParentNode.replaceChild(targetNode, newNode);
    }
};

最后別忘記了最重要的一步,在addLoadEvent函數(shù)中加載查找函數(shù),如下:

addLoadEvent(getLinks);


關(guān)于怎么在HTML中設(shè)置點(diǎn)擊超鏈接后變成灰色就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI