function testGetElements(root, classtestCount) {
ok(root.getElementsByClassName, "getElementsByClassName exists");
is( typeof root.getElementsByClassName, "function", "getElementsByClassName is a function"
);
var nodes = root.getElementsByClassName("f");
is(typeof nodes.item, "function");
is(typeof nodes.length, "number");
is(nodes.length, 0, "string with no matching class should get an empty list");
nodes = root.getElementsByClassName("foo");
ok(nodes, "should have nodelist object");
// HTML5 says ints are allowed in class names // should match int class
nodes = root.getElementsByClassName("1");
is(nodes[0], $("int-class"), "match integer class name");
nodes = root.getElementsByClassName([1]);
is(nodes[0], $("int-class"), "match integer class name 2");
nodes = root.getElementsByClassName(["1 junk"]);
is(nodes.length, 0, "two classes, but no elements have both");
nodes = root.getElementsByClassName("test1");
is(nodes[0], $("test1"), "Id and class name turn up the same node");
nodes = root.getElementsByClassName("test1 test2");
is(nodes.length, 0, "two classes, but no elements have both");
nodes = document.getElementById("example").getElementsByClassName("ccc bbb");
is(
nodes.length,
1, "only match elements that have all the classes specified in that array. tokenize string arg."
);
is(nodes[0], $("p3"), "matched tokenized string");
nodes = document.getElementById("example").getElementsByClassName("");
is(nodes.length, 0, "class name with empty string shouldn't return nodes");
nodes = root.getElementsByClassName({});
ok(nodes, "bogus arg shouldn't be null");
is(typeof nodes.item, "function");
is(typeof nodes.length, "number");
is(nodes.length, 0, "bogus arg should get an empty nodelist");
}
addLoadEvent(function () { if (document.getElementsByName) { var anchorNodes = document.getElementsByName("nametest");
is(anchorNodes.length, 1, "getElementsByName still works");
is(
anchorNodes[0].getAttribute("name"), "nametest", "getElementsByName still works"
);
}
testGetElements($("content"), 1);
testGetElements(document.documentElement, 3);
testGetElements(document, 3);
});
addLoadEvent(SimpleTest.finish);
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.