2009-08-07 12 views
0

Ich bin ein wenig neu in JS und das hat mich am Kopf kratzen wie verrückt.jquery UI Tabs mit DIV anstelle von UL für Navigation

Ich möchte ein DIV mit einer Reihe von Ankern für die Navigation anstelle der obligatorischen (ich denke,?) UL verwenden.

Ich habe das Stück Code gefunden, der das tut, aber ich kann keinen Sinn davon machen.

this.list = this.element.children('ul:first'); 
    this.lis = $('li:has(a[href])', this.list); 
    this.anchors = this.lis.map(function() { return $('a', this)[0]; }); 
    this.panels = $([]); 

nun die

ul:first 

zu

div:first 

Werke zu ändern, aber ich habe noch alle meine A ist in einem LI wickeln. Das muss in der zweiten Zeile passieren, aber ich kann wirklich nicht herausfinden, was ich damit machen soll.

Ich weiß, das ist ein kleiner Biss von einem ziemlich großen Skript, aber ich hoffe, es wird tun. Der gesamte Code ist unter ui.jquery.com verfügbar (wie Sie wahrscheinlich schon wissen) und ich kann den Rest bei Bedarf veröffentlichen.

Vielen Dank im Voraus für Ihre Hilfe.

Das Ziel ist es, die UL und LI mit einem einzigen DIV zu ersetzen, das nichts als A enthält. Dies wird das Styling so viel einfacher machen.

+0

Versuchen Sie meine aktualisierte Version. –

+0

Ihre Notiz am Ende meiner Antwort hinzugefügt. –

Antwort

1
this.list = this.element.children('div'); 
this.lis = $('a[href]', this.list); 
this.anchors = $('a[href]', this.list); 
this.panels = $([]); 

Versuchen Sie es.

Und ich sagte das ein wenig zu früh, aber es war einfach zu beheben. Fügen Sie es hier für irgendjemand hinzu, der danach suchen könnte. Chachas Lösung funktioniert, aber den Registern werden bei ihrer Auswahl nicht die richtigen Klassen zugewiesen. Dies wird behoben, indem .closes ('li') aus den Zeilen 273 und 281 in ui.tabs.js entfernt wird. Dadurch wird es gut gelöst und Sie können die Klassen wie gewohnt verwenden. - Mathias Nielsen vor 12 Minuten

+0

Ah, ich könnte beim Schreiben der Post faul gewesen sein. Ich werde es nur bearbeiten, um klarer zu machen, was ich erreichen möchte. –

+0

Ja, funktionierte wie ein Zauber :) Vielen Dank. –

+0

Und ich sagte das ein wenig zu früh, aber es war einfach zu beheben. Fügen Sie es einfach hier für irgendjemand hinzu, der danach suchen könnte. Chachas Lösung funktioniert, aber den Registern werden bei ihrer Auswahl nicht die richtigen Klassen zugewiesen. Dies wird festgelegt durch Entfernen .closest (‚li‘) von Linien 273 und 281 in ui.tabs.js Dieses es schön beheben und Sie die Klassen verwenden können wie gewohnt. –