jquery: test, ob die input-variable dom-element
Möchte ich schreiben, eine jquery-Funktion akzeptiert entweder ein dom-element oder dessen id als Eingabe:
function myfunction(myinput){
//pseudocode:
//if (myinput is dom element){
// var myID = $(myinput).attr('id');
//} else {
// var myID = myinput;
//}
//Do stuff with myID ...
}
Frage: Wie kann ich feststellen, ob myinput ist ein dom-element???
- Dies wurde bereits gefragt: "stackoverflow.com/questions/384286/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es ist einfacher zu tun, die check-Umgekehrt - ob es ein string, wenn so verwenden Sie es, um eine ID anders behandeln, als einen DOM-Knoten/element und handle, als ob es eins war.
oder wenn Sie wirklich wollen, zu überprüfen, ob es HTMLElement dann jeder html-DOM-element HTMLElement erweitert abstrakte Schnittstelle. Überprüfen MDC für mehr info auf HTMLElement.
Am Ende ist es nicht wirklich egal... Ihren Anruf!
Tom
nodeType
$(myinput).length > 0
zu sehen, wenn das element existiert in der DOM.Würden Sie implementieren Ihre Funktion wie folgt:
}
Mehr Informationen über nodeType.
Frage ich mich, ob eine nette ternären funktionieren würde, so etwas wie dieses
if( myinput instanceof domElement ) alert("Yes");
domElement
.Element
oderNode
😉