Baseline Widely available *
HTML å
容模æ¿ï¼<template>
ï¼å
ç´ æ¯ä¸ç§ç¨äºä¿å客æ·ç«¯å
容æºå¶ï¼è¯¥å
容å¨å è½½é¡µé¢æ¶ä¸ä¼åç°ï¼ä½éåå¯ä»¥ (åæä¸º may be) å¨è¿è¡æ¶ä½¿ç¨ JavaScript å®ä¾åã
å°æ¨¡æ¿è§ä¸ºä¸ä¸ªå¯åå¨å¨ææ¡£ä¸ä»¥ä¾¿åç»ä½¿ç¨çå
å®¹çæ®µãè½ç¶è§£æå¨å¨å è½½é¡µé¢æ¶ç¡®å®ä¼å¤ç <template>
å
ç´ çå
容ï¼ä½è¿æ ·ååªæ¯ä¸ºäºç¡®ä¿è¿äºå
容ææï¼ä½å
ç´ å
容ä¸ä¼è¢«æ¸²æã
æ¤å ç´ ä» å å«å ¨å±å±æ§ã
ä½ï¼ HTMLTemplateElement
æä¸ªå±æ§ï¼ content
, è¿ä¸ªå±æ§æ¯åªè¯»çDocumentFragment
å
å«äºæ¨¡æ¿æè¡¨ç¤ºç DOM æ ã
é¦å æä»¬ä»ç¤ºä¾ç HTML é¨åå¼å§ã
<table id="producttable">
<thead>
<tr>
<td>UPC_Code</td>
<td>Product_Name</td>
</tr>
</thead>
<tbody>
<!-- ç°ææ°æ®å¯ä»¥å¯éå°å
æ¬å¨è¿é -->
</tbody>
</table>
<template id="productrow">
<tr>
<td class="record"></td>
<td></td>
</tr>
</template>
é¦å ï¼æä»¬æä¸ä¸ªè¡¨ï¼ç¨åæä»¬å°ä½¿ç¨ JavaScript 代ç å¨å ¶ä¸æå ¥å 容ãç¶åæ¯æ¨¡æ¿ï¼å®æè¿°äºè¡¨ç¤ºå个表è¡ç HTML çæ®µçç»æã
æ¢ç¶å·²ç»å建äºè¡¨å¹¶å®ä¹äºæ¨¡æ¿ï¼æä»¬ä½¿ç¨ JavaScript å°è¡æå ¥å°è¡¨ä¸ï¼æ¯ä¸è¡é½æ¯ä»¥æ¨¡æ¿ä¸ºåºç¡æå»ºçã
// éè¿æ£æ¥æ¥æµè¯æµè§å¨æ¯å¦æ¯æ HTML 模æ¿å
ç´
// ç¨äºä¿å模æ¿å
ç´ çå
容屿§ã
if ("content" in document.createElement("template")) {
// 使ç¨ç°æç HTML tbody å®ä¾å表å该è¡ä¸æ¨¡æ¿
let t = document.querySelector("#productrow"),
td = t.content.querySelectorAll("td");
td[0].textContent = "1235646565";
td[1].textContent = "Stuff";
// å
éæ°è¡å¹¶å°å
¶æå
¥è¡¨ä¸
let tb = document.getElementsByTagName("tbody");
let clone = document.importNode(t.content, true);
tb[0].appendChild(clone);
// å建ä¸ä¸ªæ°è¡
td[0].textContent = "0384928528";
td[1].textContent = "Acme Kidney Beans";
// å
éæ°è¡å¹¶å°å
¶æå
¥è¡¨ä¸
let clone2 = document.importNode(t.content, true);
tb[0].appendChild(clone2);
} else {
// æ¾å°å¦ä¸ç§æ¹æ³æ¥æ·»å è¡å°è¡¨ï¼å ä¸ºä¸æ¯æ HTML 模æ¿å
ç´ ã
}
ç»ææ¯åå§ç HTML è¡¨æ ¼ï¼éè¿ JavaScript æ·»å äºä¸¤è¡æ°å 容ï¼
table {
background: #000;
}
table td {
background: #fff;
}
è§è æµè§å¨å
¼å®¹æ§ åè§
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4