[英]Javascript: how to change the style of all links in a page?
我正在嘗試通過Javascript更改頁面中所有鏈接的樣式。
我嘗試了這兩種方法,但均未成功:
document.links.style.cursor = "wait";
document.getElementsByTagName(a).style.cursor = "wait";
我究竟做錯了什么?
var allLinks = document.links || document.getElementsByTagName('a');
for(var n=0;n<allLinks ;n++)
document.allLinks [n].style.cursor = "wait";
document.links
是元素數組,因此document.links.style.cursor = "wait"
等於[link1,link2].links.style.cursor = "wait"
。
關於document.getElementsByTagName(a)
:語法錯誤,您忘記了引號。 正確的是document.getElementsByTagName("a")
var style = document.createElement("style");
document.head.appendChild(style);
try {
style.innerHTML = "a { cursor: wait; }";
}
catch (_ie) {
style.styleSheet.cssText = "a { cursor: wait; }";
}
當然,您也可以預先計划需要更改鏈接的可能性,並預先加載靜態樣式表,如下所示:
.wait-links a { cursor: wait; }
然后,每當您將類“ wait-links”添加到<body>
(或您喜歡的任何容器)時, <a>
標記都將受到影響。 這比遍歷元素更改其個人樣式的效率要高得多(可能),盡管如果鏈接不多,則可能無關緊要。
在我看來,將樣式表用於此類事情是一種更好的做法。 實際上,在這種情況下,最好不要將類稱為“ wait-links”,而應使用描述實際情況的一個或多個單詞。 然后,您的JavaScript代碼只需通過添加(或刪除)類來建立情況,然后樣式表控制外觀的更改。 如果您決定在某些情況下需要鏈接更改顏色或變得不可見,則可以這樣做,而不必在腳本中扎根尋找樣式更改。
使用JQuery和“ .css”方法無需使用for循環,從而簡化了代碼。
$('a').css("cursor","wait");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.