2010-12-16 7 views
0

Gibt es ein Offline-Tool, das überprüfen kann, ob bestimmte Tags bestimmte Attribute besitzen?Systematische Überprüfung von HTML-Tags

Ich bin auf der Suche nach etwas, das das alles überprüfen können:

  • form Tags haben eine name Attribut.
  • div und span Tags haben mindestens ein id oder class Attribut.

Hat ordentlich eine obskure Option, wo Sie solche Dinge angeben könnten?

+2

Nein, würden Sie wahrscheinlich ein Skript bauen müssen, oder fertigen Sie eine vorhandene Validator Lösung. Aber machen diese Regeln wirklich Sinn? Was ist dein Anwendungsfall? –

+0

Ich versuche Selen-Tests auf einer Website zu entwickeln, die viele leere divs enthält, die verschachtelt sind. Es ist schwierig, solche Elemente mit xpath zu erhalten. Würde es vorziehen, die Website zuerst zu klären, aber ich brauche etwas, um sie leicht zu melden. –

+0

Sie möchten überprüfen, dass Formulare * do * ein name-Attribut haben? Die Spezifikation besagt, dass Sie stattdessen ID verwenden sollten. http://www.w3.org/TR/html4/interact/forms.html#adef-name-FORM – Quentin

Antwort

3

einfach und schnell können Sie Ihre Validierungen durchführen, wenn jQuery auf Ihrer Seite verfügbar ist.

 

    $('form').each(function(){ 
     if ($(this).attr('name') === undefined) { 
      alert('There is at least one form with no name.'); 
     } 
    }); 
    $('div').each(function(){ 
     if ($(this).attr('id') === undefined) { 
      alert('There is at least one div with no id.'); 
     } 
    }); 

+0

+1, und Entschuldigung, konnte nicht widerstehen, dieses netter zu machen ...;) – Stephen

+0

Javascript würde nicht sein Ich muss meine Website mit einem Crawler validieren und einen Bericht daraus erstellen. –

1

auch dies eine nicht-jQuery-Lösung Beispiel ist

 
var arr = document.getElementsByTagName('div'); 
var flag = false; 
for (var i = 0, len = arr.length; i < len; i++) { 
    if (arr[i].getAttribute('id') == null) { 
     flag = true; 
     break; 
    } 
} 
if (flag) { 
    alert('There is at least one div with no name.'); 
} 
Verwandte Themen