Common getElementById, getElementsByName, and getElementsByTagName. However, foreigners are not satisfied with these APIs, so they developed getElementsByClassName. Later, the jQuery selector appeared a little bit. Here we only talk about the original js choice.
1. getElementById
This is the most common selector, which is located by id:
Example:
Var test = document. getElementById ("test"). value; // obtain the value of the element whose id is test in the document and assign it to test to change the face.
2. getElementsByName
Example:
Var test = document. getElementByName ("test"); // obtain the node of the element named test in the document and assign it to the test variable. In this case, the test variable is an array.
3. getElementsByTagName
Example:
Var test = document. getElementsByTagName ("test"); // obtain the node of the class test element in the document and assign it to test. The test variable is an array. The selector is in IE5, 6, 7, 8 unavailable
4. getElementsByClassName
This selector is not found in the js API and must be defined by yourself. The general principle is to use getElementsByTagName ("*") to retrieve all the elements in the document and traverse it, use a regular expression to find matching elements and put them in an array to return. Many programmers have implemented this selector on the Internet. The following are two examples:
(1) The Ultimate getElementsByClassName solution, which was developed by Robert Nyman in, shows that many foreigners have gone far before.
Copy codeThe Code is as follows:
// All three parameters are required. Search for the 5007 elements of a webpage class named "cell". IE8 lasts for 1828 ~ 1844 ms,
// IE6 is 4610 ~ 6109 ms, FF3.5 is 46 ~ 48 ms, opera10 is 31 ~ 32 ms, Chrome is 23 ~ 26 Ms,
// Safari4 is 19 ~ 20 ms
Function getElementsByClassName (oElm, strTagName, strClassName ){
Var arrElements = (strTagName = "*" & oElm. all )? OElm. all:
OElm. getElementsByTagName (strTagName );
Var arrReturnElements = new Array ();
StrClassName = strClassName. replace (/\-/g ,"\\-");
Var oRegExp = new RegExp ("(^ | \ s)" + strClassName + "(\ s | $ )");
Var oElement;
For (var I = 0; I <arrElements. length; I ++ ){
OElement = arrElements [I];
If (oRegExp. test (oElement. className )){
ArrReturnElements. push (oElement );
}
}
Return (arrReturnElements)
}
(2) provided by Dustin Diaz (author of JavaScript Design Patterns), but its compatibility is not as good as above and IE5 is not supported.
Copy codeThe Code is as follows:
// The last two parameters are reliable. Find the 5007 elements of the class "cell" on a webpage. IE8 lasts for 78 milliseconds, and IE6 lasts for 125 to milliseconds ~ 171 Ms
// FF3.5 is 42 ~ 48 ms, opera10 is 31 ms, Chrome is 22 ~ 25 ms, safari4 is 18 ~ 19 ms
Var getElementsByClass = function (searchClass, node, tag ){
Var classElements = new Array ();
If (node = null)
Node = document;
If (tag = null)
Tag = '*';
Var els = node. getElementsByTagName (tag );
Var elsLen = els. length;
Var pattern = new RegExp ("(^ | \ s)" + searchClass + "(\ s | $ )");
For (I = 0, j = 0; I <elsLen; I ++ ){
If (pattern. test (els [I]. className )){
ClassElements [j] = els [I];
J ++;
}
}
Return classElements;
}
Certificate --------------------------------------------------------------------------------------------------------------------------------------------------------
Note: this indicates the node of the current element.
Certificate --------------------------------------------------------------------------------------------------------------------------------------------------------
The following are some common methods of using event-related knowledge points:
Copy codeThe Code is as follows:
// Submit a form with the id of test
Document. getElementById ("test"). submit ();
// Set the border with id as test to 2 pixels, entity, and red
Document. getElementById ("test"). style. border = "2px solid red ";
// Move the mouse or move the element with the id test to change its background color.
Function test (){
Document. getElementById ("test"). onmouseover = function () {document. getElementById ("test2"). style. backgroundColor = "red "};
Document. getElementById ("test"). onmouseout = function () {document. getElementById ("test2"). style. backgroundColor = "blue "};
}
// The number of elements whose name is test in the pop-up document
Function test ()
{
Var test = document. getElementsByName ("test ");
Alert (test. length );
}