Ich schreibe Anwendungen mit ASP.NET MVC. Im Gegensatz zu herkömmlichem ASP.NET sind Sie viel mehr dafür verantwortlich, alle IDs auf Ihrer generierten Seite zu erstellen. ASP.NET würde Ihnen böse, aber eindeutige IDs geben.
Ich möchte ein kurzes kleines jQuery-Skript hinzufügen, um mein Dokument auf doppelte IDs zu überprüfen. Dies können IDs für DIVS, Bilder, Kontrollkästchen, Schaltflächen usw. sein.
<div id="pnlMain"> My main panel </div>
<div id="pnlMain"> Oops we accidentally used the same ID </div>
Ich suche nach einem Set-and-Forget-Dienstprogramm, das mich nur warnt, wenn ich etwas Unachtsames tue.
Ja, ich würde dies nur während des Testens verwenden, und Alternativen (wie Firebug-Plugins) sind ebenfalls willkommen.
var ids = $('[id=\''+this.id+'\']');
damit es mit Punkten und anderen seltsamen Dingen in IDs funktioniert.Diese Version ist etwas schneller und Sie können sie auf eine Lesezeichenschaltfläche kopieren, um sie zu einem Lesezeichen zu machen.
quelle
javascript:(function () { var ids = {}; var found = false; $('[id]').each(function() { var id = this.getAttribute('id'); if (id && ids[id]) { found = true; console.warn('Duplicate ID #'+id); } ids[id] = 1; }); if (!found) console.log('No duplicate IDs found'); })();
wäre besser.Ich habe eine große Seite, so dass das Skript zu langsam ausgeführt wird, um es zu beenden (mehrere "Skript fortsetzen" -Nachrichten). Das funktioniert gut.
quelle
$x("//*[@id='duplicated-id']")
) in der Konsole, um die Elemente mit den duplizierten IDs abzufragen.Sie sollten HTML Validator (Firefox-Erweiterung) ausprobieren . Es wird Ihnen definitiv sagen, dass die Seite doppelte IDs hat und vieles mehr.
quelle
Warum validieren Sie nicht einfach Ihr HTML?
Doppelte IDs sind nicht zulässig, und normalerweise wird ein Analysefehler angezeigt.
quelle
Noch eine andere Möglichkeit, Duplikate zu finden, aber dies fügt eine Fehlerklasse hinzu, sodass roter Text angezeigt wird:
quelle
Die in j6 umgeschriebene Top-jQuery-Antwort:
quelle
Dies könnte den Trick machen. Es alarmiert alle IDs von Elementen mit Duplikaten.
quelle
Ich mag das, weil es die eigentlichen Elemente auf die Konsole ausspuckt. Es macht es einfacher zu untersuchen, was los ist.
}}
quelle
Sie können diese Lösung verwenden, die in der Konsole eine Liste doppelter IDs ausgibt, falls vorhanden.
Sie können den Code direkt in der Konsole ausführen (Kopieren / Einfügen), nachdem Ihr DOM geladen wurde, und erfordern keine zusätzliche Abhängigkeit wie jQuery.
Sie können es verwenden, um mögliche Fehler in Ihrem HTML-Markup schnell herauszufinden.
Ein Beispiel:
https://jsbin.com/cigusegube/edit?html,console,output
(Hier wird Code hinzugefügt, bevor das
body
Tag geschlossen wird.)quelle
Ich habe eine Funktion erstellt, mit der Sie ein bestimmtes Element untersuchen können, um nach doppelten IDs innerhalb oder auf der gesamten Seite zu suchen:
quelle