Javascript:with(document.body){background="";bgColor="#779966";text="#bb4400"};void(document.styleSheets[0].addRule("TD","border:1 solid black;background-color:#eef9ee!important"))
下面是解說:
1.Javascript:url
偽url技術。它適用于所有包括href和src屬性的標記:假如一個屬性能接收url作為它的值,它就可以接收這個Javascript:url ,地址欄相當于location.href,所以也不例外咯。:)
2.返回值
多數js語句會有返回值,這里我們并不需要返回值,以免它傳遞給href屬性,使location.href起作用。
可以用alert這個不會產生返回值,但又會計算表達式的方法來達到我們的目的:把語句作為alert的參數,由alert來執行。
但是用alert會彈出計算的最終結果(即語句段最終的返回值),我們并不需要彈出框,只需要語句靜靜地執行,并且沒有返回值。void運算符正是我們所需要的。
3.再談返回值
在順序執行的語句段中,如果每一句都有返回值,而某一個屬性(比如href)只能接收一個返回值,它會接收哪一個返回值呢?答案是最后一個。因此,我們只需在最后一句加上void就行了。
4.with語句
with語句可以為用大括號括起來的一段語句段設定默認對象,以減少代碼量。上面的with(document.body){background="";bgColor="#779966";text="#bb4400"}
即相當于:
document.body.background=""
document.body.bgColor="#779966"
document.body.text="#bb4400"
5.為已定義的樣式表新增規則
document.styleSheets[0].addRule("TD","border:1 solid black")
上面這段語句給頁面中的第一個樣式表對象增加一個規則:讓所有的表格單元帶上一個象素寬的黑色實線邊框。
styleSheets是頁面上所有<style></style>和<link rel=stylesheet type=text/css href=***.css>元素的集合。styleSheets[0]是指第一個樣式表元素。
addRule()方法用來給樣式表對象插入規則。第一個參數是selector,第二個參數是對selector的定義。
6.樣式表的!important屬性
凡是具有!important屬性的樣式,在頁面中具有優先權。舉例:
<style>
p {color:red!important}
</style>
<p style="color:green">這里的文字是紅色的。</p>
好了,開頭的那段語句就包括這些知識點,大家有沒有在這基礎之上的進一步的創新,讓我學習學習?鼓勵創新哦。:)
JavaScript技術:地址欄上的一段語句,改變頁面的風格。(教程),轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。