您好,登錄后才能下訂單哦!
這篇文章給大家介紹怎么在HTML中設(shè)置點(diǎn)擊超鏈接后變成灰色,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。
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)槠胀ㄎ谋?,而且文本的字體顏色是灰色的。如同以下效果:
好了,閑話(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ò),可以把它分享出去讓更多的人看到。
免責(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)容。