String 擴充
RenderJS 為 String.prototype 加入的方法與 getter:以標籤選擇器字串建構 DOM、元素查詢、JSON/HTML 工具與 URL 捷徑。
String
原始碼:src/prototype/String.ts
| 方法/屬性 | 說明 |
|---|---|
"selector".RJS(body) |
於符合選擇器的元素上啟動 RJS 實例;見 核心概念 |
"tag.class#id"._(attrs, children) |
依標籤選擇器字串建立真實 DOM 元素(含 SVG 命名空間偵測、input/textarea type/placeholder 解析、lazyload 屬性接線) |
"selector".$ |
取得符合的單一元素(#id 走 getElementById,其餘走 querySelector) |
"selector".$all |
取得所有符合元素的陣列([...querySelectorAll(...)]) |
"icon-a icon-b"._fa |
Getter,建構 "i.icon-a.icon-b"._() —— 依空格分隔的 class 名稱產生 Font Awesome <i> 元素 |
"str".$json |
安全的 JSON.parse(this);解析失敗時回傳 undefined(並記錄 log) |
"str".$$json |
$json 未失敗時為 true |
"str".$html |
HTML 逸出 、<、>、"、' |
"str".copy() |
非同步;透過 navigator.clipboard.writeText 寫入剪貼簿 |
"str".$regexp(flags?, force?) |
依字串建構 RegExp;force: true 會先逸出正則特殊字元 |
"str".$base64(mimeType) |
將 base64 字串解碼為 Blob |
"str".$$(filter?) |
正則測試、字串完全相等,或(無參數時)去除空白後非空的判斷 |
"url".$url |
new URL(this),相對路徑時 fallback 為 new URL(location.origin + this) |
"url".$queryAll |
解析後的 query string 物件(透過 $url.$queryAll) |
"url".$img / $$200(isImg) / $req(body, once) / $query / _history(title) / _query(obj) / __history(title) / __query(obj) / query_(keys) / query__() |
轉發至下方 URL 對應的方法/getter,套用於 this.$url |