跳到主要內容

[轉貼] Javascript HTML document 物件屬性解說

本文轉貼自:Tech Minute
 
為了讓自己以後可以方便搜尋,因此將本文記錄下來。
內容為概述javascript 對於document 的各項屬性(attribute)及事件(event)特性

———————————————————————
注:頁面上元素name屬性和JavaScript引用的名稱必須一致包括大小寫
否則會提示你一個錯誤資訊 “引用的元素為空或者不是物件\\\\\”
———————————————————————
物件屬性
document.title //設置文檔標題等價於HTML的title標籤
document.bgColor //設置頁面背景色
document.fgColor //設置前景色(文本顏色)
document.linkColor //未點擊過的鏈結顏色
document.alinkColor //啟動鏈結(焦點在此鏈結上)的顏色
document.vlinkColor //已點擊過的鏈結顏色
document.URL //設置URL屬性從而在同一視窗打開另一網頁
document.fileCreatedDate //檔建立日期,唯讀屬性
document.fileModifiedDate //檔修改日期,唯讀屬性
document.fileSize //檔大小,唯讀屬性
document.cookie //設置和讀出cookie
document.charset //設置字元集 簡體中文:gb2312
———————————————————————
常用物件方法
document.write() //動態向頁面寫入內容
document.createElement(Tag) //創建一個html標籤物件
document.getElementById(ID) //獲得指定ID值的對象
document.getElementsByName(Name) //獲得指定Name值的對象
document.body.appendChild(oTag)
———————————————————————
body-主體子物件
document.body //指定文檔主體的開始和結束等價於body>/body>
document.body.bgColor //設置或獲取物件後面的背景顏色
document.body.link //未點擊過的鏈結顏色
document.body.alink //啟動鏈結(焦點在此鏈結上)的顏色
document.body.vlink //已點擊過的鏈結顏色
document.body.text //文本色
document.body.innerText //設置body>…/body>之間的文本
document.body.innerHTML //設置body>…/body>之間的HTML代碼
document.body.topMargin //頁面上邊距
document.body.leftMargin //頁面左邊距
document.body.rightMargin //頁面右邊距
document.body.bottomMargin //頁面下邊距
document.body.background //背景圖片
document.body.appendChild(oTag) //動態生成一個HTML物件
常用物件事件
document.body.onclick=”func()” //滑鼠指標單擊物件是觸發
document.body.onmouseover=”func()” //滑鼠指標移到物件時觸發
document.body.onmouseout=”func()” //滑鼠指標移出物件時觸發
———————————————————————
location-位置子物件
document.location.hash // #號後的部分
document.location.host // 功能變數名稱+埠號
document.location.hostname // 功能變數名稱
document.location.href // 完整URL
document.location.pathname // 目錄部分
document.location.port // 埠號
document.location.protocol // 網路協定(http:)
document.location.search // ?號後的部分
documeny.location.reload() //刷新網頁
document.location.reload(URL) //打開新的網頁
document.location.assign(URL) //打開新的網頁
document.location.replace(URL) //打開新的網頁
———————————————————————
selection-選區子對象
document.selection
———————————————————————
images集合(頁面中的圖像)
a)通過集合引用
document.images //對應頁面上的img標籤
document.images.length //對應頁面上img標籤的個數
document.images[0] //第1個img標籤
document.images[i] //第i-1個img標籤
b)通過nane屬性直接引用
img name=”oImage”
document.images.oImage //document.images.name屬性
c)引用圖片的src屬性
document.images.oImage.src //document.images.name屬性.src
d)創建一個圖像
var oImage
oImage = new Image()
document.images.oImage.src=”1.jpg”
同時在頁面上建立一個img /標籤與之對應就可以顯示
———————————————————————-
forms集合(頁面中的表單)
a)通過集合引用
document.forms //對應頁面上的form標籤
document.forms.length //對應頁面上/formform標籤的個數
document.forms[0] //第1個/formform標籤
document.forms[i] //第i-1個/formform標籤
document.forms[i].length //第i-1個/formform中的控制項數
document.forms[i].elements[j] //第i-1個/formform中第j-1個控制項
b)通過標籤name屬性直接引用
/formform name=”Myform”>input name=”myctrl”/>/form
document.Myform.myctrl //document.表單名.控制項名
c)訪問表單的屬性
document.forms[i].name //對應form name>屬性
document.forms[i].action //對應/formform action>屬性
document.forms[i].encoding //對應/formform enctype>屬性
document.forms[i].target //對應/formform target>屬性
document.forms[i].appendChild(oTag) //動態插入一個控制項
document.all.oDiv //引用圖層oDiv
document.all.oDiv.style.display=”" //圖層設置為可視
document.all.oDiv.style.display=”none” //圖層設置為隱藏
document.getElementId(”oDiv”) //通過getElementId引用對象
document.getElementId(”oDiv”).style=”"
document.getElementId(”oDiv”).display=”none”
/*document.all表示document中所有物件的集合
只有ie支援此屬性,因此也用來判斷瀏覽器的種類*/
圖層物件的4個屬性
document.getElementById(”ID”).innerText //動態輸出文本
document.getElementById(”ID”).innerHTML //動態輸出HTML
document.getElementById(”ID”).outerText //同innerText
document.getElementById(”ID”).outerHTML //同innerHTML


留言

  1. 網誌管理員已經移除這則留言。

    回覆刪除
  2. Hello

    Awesome blog, great write up, thank you!

    回覆刪除

張貼留言

這個網誌中的熱門文章

npm 還可以看影片,沒想到真的有人這麼做

 還真的有人做這件事情, 庆余年2剛上線,有一位小哥竟然利用 npm 包的機制,將整套高清視頻都搬上來了。 https://x.com/fengmk2/status/1791498406923215020 圖片來源, https://x.com/fengmk2/status/1791498406923215020/photo/1 此 Package 出處 https://www.npmjs.com/package/lyq2?activeTab=versions 截圖留念, 機制說明 NPM(Node Package Manager)是一個流行的 JavaScript 軟件包管理器,用於管理和分發 Node.js 應用的依賴。它允許開發者將自己的代碼打包成「包」,並上傳到 NPM 的公共註冊表,供其他開發者下載和使用。這個過程通常包括以下步驟: 創建 NPM 包 :開發者將自己的代碼和相關文件打包成一個 NPM 包。 上傳到註冊表 :將包上傳到 NPM 的公共註冊表。 下載和使用 :其他開發者可以通過 NPM 命令行工具下載並安裝這些包。 這位小哥利用這一機制,可能是通過將整套高清視頻文件打包成 NPM 包並上傳到公共註冊表。其他人只需通過簡單的 NPM 命令即可下載這些視頻文件。 影響 版權問題 :這種行為涉及明顯的版權侵犯。高清視頻通常受到版權保護,未經授權的分發和下載都是非法的。 NPM 註冊表的可靠性 :這類內容的出現可能會損害 NPM 註冊表的可靠性和聲譽。NPM 註冊表是開發者分享和使用代碼的重要平台,如果充斥著這些不合法的內容,會影響其公信力。 潛在的安全風險 :將視頻文件偽裝成 NPM 包可能會帶來潛在的安全風險。下載這些包的用戶可能會無意中下載到惡意軟件或其他有害內容。 技術濫用 :這一行為展示了技術的濫用,原本為了方便開發者分享和使用代碼的機制,被用來分發非法內容,會對整個開發者社區造成負面影響。 歡迎留言給我,讓我們得到更多討論,一起回饋更多可能。 如果對於技術架構或者技術開發有相關需要顧問教育訓練服務或專案開發,聯絡方式如下,或者是與皇漢科技 EXMA-Square 進行聯繫。 FB: https://www.facebook.com/clonncd/ Twitter: https://twitter.com/clonncd 熱血漢誌: htt

Redis 已經不再免費了嗎?Redis is no longer free software ?

  根據Redis Source Available License 2.0 (RSALv2)的條款,這份授權協議提供了一定程度的使用、複製、分發、使其可用、以及創建衍生作品的自由,但這些自由受到特定限制,特別是關於將軟體功能作為服務提供給第三方或分發軟體的方式,這可能限制了軟體的自由共享和再分發。 根據自由軟體基金會(Free Software Foundation, FSF)和開源倡議組織(Open Source Initiative, OSI)定義的自由軟體和開源軟體的標準,一個軟體要被認為是“自由軟體”或“開源軟體”,它需要允許用戶在任何目的下運行軟體、研究和修改軟體、以及自由地重新分發複製品,有時還包括創建和分發衍生作品的自由。 RSALv2設置了一些重要的使用和分發限制,特別是關於禁止將軟體或其修改版本作為服務提供給第三方的限制,這可能不符合FSF和OSI對自由軟體或開源軟體的定義。這些限制主要是為了保護Redis Ltd.的商業利益,同時允許使用者在某些條件下使用和修改軟體。 因此,雖然RSALv2提供了一些使用和修改軟體的自由,但它由於上述限制,可能不會被廣泛認定為符合“自由軟體”或“開源軟體”的嚴格定義。它更像是一種介於傳統封閉源代碼軟體和開放源碼軟體之間的“源可用”授權模式。 主觀想法 怎麼開源的狀態下還是需要商業利益的支持,只有在商業模式下才能走得長久,這段協議會影響到的基本上三大公有雲 Azure / AWS / Google Cloud Platform 絕對首當其衝,但如果以服務提供商的角色,能夠跟這樣的開源坐下來好好談談,也許這樣的 Agreement 可能對於 Redis 後續的生態發展才會是好的方式? 就讓我們持續看下去! Ref: https://lwn.net/Articles/966133/ https://redis.com/blog/redis-adopts-dual-source-available-licensing/ https://redis.com/legal/rsalv2-agreement/

CSS Animation 救星?Apple 推出 Keyframer,讓 LLM 大型語言模型產生動畫

CSS Animation 救星?Apple 推出 Keyframer,讓 LLM 大型語言模型產生動畫 Apple 釋出 Keyframer 工具利用大型語言模型(LLMs)來為靜態圖像(SVG格式)創造動畫。 透過與專業動畫設計師和工程師的訪談,Keyframer 支援通過提示和直接編輯生成的輸出來探索和精煉動畫。此系統還允許用戶請求設計變體,支持比較和創意發想。包括用於描述運動的語義提示類型的分類和一種“分解式”提示風格,其中用戶不斷根據生成的輸出調整他們的目標。分享了如何通過直接編輯以及提示來實現超越當今生成工具中常見的一次性提示界面的迭代。通過這項工作,提出了LLMs 可能如何賦能廣泛的觀眾群體參與動畫創作。 對於網頁開發者或設計師,Keyframer提供了以下潛在的幫助和用途: 創意表達的擴展:開發者和設計師可以使用自然語言描述來創造或修改動畫,這樣可以快速實驗和實現創意想法,而無需深入複雜的動畫程式碼或工具。 高效的設計流程:通過結合語言提示和直接編輯,使用者可以迅速探索動畫設計的不同變體,加速從概念到原型的過程。 動畫設計的無障礙化:即使是沒有動畫背景的開發者和設計師也能輕鬆入門,透過自然語言的引導創造動感豐富的界面和視覺效果。 促進創意發想和迭代:Keyframer支持設計思維的迭代過程,讓使用者能夠不斷優化和細化他們的動畫設計,促進創意的深入發展。 個性化和定制動畫:用戶可以請求特定的設計變體,以滿足特定項目的需求或遵循品牌指南,從而創建更加個性化和定制化的動畫效果。 Keyframer為網頁開發者和設計師提供了一種全新的與動畫互動和創造的方式,使他們能夠更加自由地探索和實現創意視覺效果,從而提升用戶體驗和網站的吸引力。