Source code

Revision control

Copy as Markdown

Other Tools

Test Info:

<!DOCTYPE html>
<meta charset=utf-8>
<title>HTMLTableCellElement.cellIndex</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<div id="log"></div>
<script>
test(function() {
var th = document.createElement("th");
assert_true("cellIndex" in th, '"cellIndex" in th');
var td = document.createElement("td");
assert_true("cellIndex" in td, '"cellIndex" in td');
}, "cellIndex should exist.")
test(function() {
var th = document.createElement("th");
assert_equals(th.cellIndex, -1);
var td = document.createElement("td");
assert_equals(td.cellIndex, -1);
}, "For cells without a parent, cellIndex should be -1.")
test(function() {
var table = document.createElement("table");
var th = table.appendChild(document.createElement("th"));
assert_equals(th.cellIndex, -1);
var td = table.appendChild(document.createElement("td"));
assert_equals(td.cellIndex, -1);
}, "For cells whose parent is not a tr, cellIndex should be -1.")
test(function() {
var tr = document.createElementNS("", "tr");
var th = tr.appendChild(document.createElement("th"));
assert_equals(th.cellIndex, -1);
var td = tr.appendChild(document.createElement("td"));
assert_equals(td.cellIndex, -1);
}, "For cells whose parent is not a HTML tr, cellIndex should be -1.")
test(function() {
var tr = document.createElement("tr");
var th = tr.appendChild(document.createElement("th"));
assert_equals(th.cellIndex, 0);
var td = tr.appendChild(document.createElement("td"));
assert_equals(td.cellIndex, 1);
}, "For cells whose parent is a tr, cellIndex should be the index.")
test(function() {
var tr = document.createElement("tr");
var th = tr.appendChild(document.createElement("th"));
assert_equals(th.cellIndex, 0);
tr.appendChild(document.createElement("div"));
tr.appendChild(document.createTextNode("Hello World"));
var td = tr.appendChild(document.createElement("td"));
assert_equals(td.cellIndex, 1)
}, "For cells whose parent is a tr with non td/th sibling, cellIndex should skip those non td/th siblings.")
</script>