Gemeinsame getElementById, getElementsByName, getElementsByTagName. Aber Ausländer waren mit diesen APIs nicht zufrieden, also entwickelten sie nach und nach jQuery-Selektoren. Hier sprechen wir nur über die ursprüngliche js-Auswahl.
1.getElementById
Dies ist der am häufigsten verwendete Selektor, lokalisiert nach ID:
Beispiel:
var test=document.getElementById(" test ").value;//Erhalten Sie den Wert des Elements mit der Test-ID im Dokument und weisen Sie ihn der Testgesichtsänderung zu
2.getElementsByName
Beispiel:
var test= document.getElementByName("test");//Rufen Sie den Knoten des Elements mit dem Namen test im Dokument ab und weisen Sie ihn der Testvariablen zu. Zu diesem Zeitpunkt ist die Testvariable ein Array
3. getElementsByTagName
Beispiel:
var test=document.getElementsByTagName("test");//Den Knoten des Elements mit der Klasse test im Dokument abrufen und zu diesem Zeitpunkt dem Test zuweisen , die Testvariable ist ein Array und dieser Selektor kann in IE5, 6, 7, 8 nicht verwendet werden
4.getElementsByClassName
Dieser Selektor kann nicht in der js-API gefunden werden Wenn Sie es verwenden möchten, müssen Sie die Methode selbst definieren. Verwenden Sie zunächst getElementsByTagName("*"), um alle Elemente im Dokument abzurufen, und verwenden Sie dann reguläre Ausdrücke, um passende Elemente zu finden, und fügen Sie sie in ein Array ein gib sie zurück. Es gibt viele Programmierer im Internet, die diesen Selektor implementiert haben:
(1) Das von Robert Nyman verfasste Ultimate getElementsByClassName-Schema wurde 2005 implementiert. Es ist ersichtlich, dass viele Dinge von Ausländer wurden schon vor langer Zeit umgesetzt. Sehr weit weg.
// Drei Parameter sind erforderlich, finden Sie einen Es gibt 5007 Elemente mit dem Klassennamen „Zelle“ auf der Webseite. IE8 dauert 1828 bis 1844 Millisekunden,
//IE6 beträgt 4610 bis 6109 Millisekunden, FF3.5 beträgt 46 bis 48 Millisekunden und Opera10 beträgt 31 bis 32 Millisekunden , und Chrome beträgt 23–26 Millisekunden,
//safari4 beträgt 19–20 Millisekunden
function getElementsByClassName(oElm, strTagName, strClassName){
var arrElements = (strTagName == "*" && oElm.all )? oElm. all :
oElm.getElementsByTagName); var oRegExp = new RegExp("(^|\s)" strClassName "(\s|$)");
var oElement; {
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
return (arrReturnElements )
}
(2) bereitgestellt von Dustin Diaz (Autor von „JavaScript Design Patterns“), aber die Kompatibilität ist nicht so gut wie oben und unterstützt IE5 nicht.
Code kopieren
var classElements = new Array();
if ( node == null )
node = document;
if ( tag == null )
tag = '*'; new RegExp(" (^|\s)" searchClass "(\s|$)");
for (i = 0, j = 0; i < elsLen; i ) {
if ( Muster. test(els[i].className) ) {
classElements[j] = els[i];
j ;
}
return classElements;
----------------------------- ---- ---------------------------------------------- ---- ---------------------------------------------- ---- ----
Hinweis: Dies kann den Knoten des aktuellen Elements darstellen.
---------------- ------ -------------------------------------------- ------ -------------------------------------------- ------ --------
Im Folgenden sind einige häufig verwendete Methoden aufgeführt, um Wissenspunkte wie Ereignisse abzugleichen:
Code kopieren
Der Code lautet wie folgt:
//Senden Sie das Formular mit dem ID-Test
document.getElementById("test").submit();
//Legen Sie den Rand des Elements mit dem ID-Test fest bis 2 Pixel, durchgehend, rot
document.getElementById("test").style.border="2px durchgehend rot"
//Die Maus bewegt sich mit aus dem Element heraus ID-Test, Hintergrundfarbe ändern
function test(){
document.getElementById("test").onmouseover=function(){document.getElementById("test2").style.backgroundColor=" red"} ;
document.getElementById("test").onmouseout=function(){document.getElementById("test2").style.backgroundColor="blue"};
}
//Popup Die Anzahl der Elemente mit dem Namen test im Dokument
function test()
{
var test=document.getElementsByName("test");
alert(test .length);
}