HTMLTableRowElementï¼insertCell() æ¹æ³
åºçº¿
广æ³å¯ç¨
èª 2015å¹´7æ èµ·ï¼æ¤ç¹æ§å·²å¨ä¸»æµæµè§å¨ä¸å¾å°æ¯æï¼å¯å¨å¤§å¤æ°è®¾å¤åæµè§å¨çæ¬ä¸æ£å¸¸ä½¿ç¨ã
HTMLTableRowElement æ¥å£ç insertCell() æ¹æ³å°ä¸ä¸ªæ°åå
æ ¼ï¼<td>ï¼æå
¥å°è¡¨è¡ï¼<tr>ï¼ä¸ï¼ç¶åè¿åæ°åå
æ ¼çå¼ç¨ã
夿³¨ï¼insertCell() å°åå
æ ¼ç´æ¥æå
¥è¡ä¸ï¼å¦æä½¿ç¨ Document.createElement() å建æ°ç <td> å
ç´ ï¼åä¸éè¦ä½¿ç¨ Node.appendChild() åç¬è¿½å åå
æ ¼ã
ä½ ä¸è½ä½¿ç¨ insertCell() æ¥å建ä¸ä¸ªæ°ç <th> å
ç´ ã
è¯æ³
insertCell()
insertCell(index)
åæ°
indexå¯é-
æ°åå æ ¼çåå æ ¼ç´¢å¼ï¼å¦æ
indexæ¯-1æè çäºåå æ ¼æ°ï¼æ°åå æ ¼éå å°è¡çæåä¸ä¸ªåå æ ¼ã妿çç¥indexï¼åé»è®¤å¼æ¯-1ã
è¿åå¼
ä¸ä¸ªå¼ç¨æ°åå
æ ¼ç HTMLTableCellElementã
å¼å¸¸
IndexSizeErrorDOMException-
妿
index大äºåå æ ¼æ°ï¼åæåºæ¤å¼å¸¸ã
示ä¾
æ¤ç¤ºä¾ä½¿ç¨ HTMLTableRowElement.insertCell() å°æ°çåå
æ ¼éå å°è¡ä¸ã
HTML
<table>
<thead>
<tr>
<th>C1</th>
<th>C2</th>
<th>C3</th>
<th>C4</th>
<th>C5</th>
</tr>
</thead>
<tbody>
<tr>
<td>åå
æ ¼ 1</td>
<td>åå
æ ¼ 2</td>
</tr>
</tbody>
</table>
<button id="add">æ·»å åå
æ ¼</button>
<button id="remove">ç§»é¤æåçåå
æ ¼</button>
<div>第ä¸è¡æ <output>2</output> 个åå
æ ¼ã</div>
JavaScript
// è·åç¸å
³æ¥å£å
ç´
const bodySection = document.querySelectorAll("tbody")[0];
const row = bodySection.rows[0]; // éæ©è¡¨æ ¼ä½é¨åç第ä¸è¡
const cells = row.cells; // é忝卿çï¼å æ¤æ»æ¯ææ°ç
const cellNumberDisplay = document.querySelectorAll("output")[0];
const addButton = document.getElementById("add");
const removeButton = document.getElementById("remove");
function updateCellNumber() {
cellNumberDisplay.textContent = cells.length;
}
addButton.addEventListener("click", () => {
// å¨ç¬¬ä¸è¡çæ«å°¾æ·»å åå
æ ¼
const newCell = row.insertCell();
newCell.textContent = `åå
æ ¼ ${cells.length}`;
// æ´æ°è¡æ°
updateCellNumber();
});
removeButton.addEventListener("click", () => {
// ä»è¡¨æ ¼ä½å é¤è¡
row.deleteCell(-1);
// æ´æ°è¡æ°
updateCellNumber();
});
ç»æ
è§è
| è§è |
|---|
| HTML> # dom-tr-insertcell-dev> |
æµè§å¨å ¼å®¹æ§
åè§
HTMLTableElement.insertRow()- 表示åå
æ ¼ç HTML å
ç´ ï¼
HTMLTableCellElement