Antworten auf deine Fragen:
Neues Thema erstellen

Attribut aus eingelesenem Object auslesen

Hi,

folgendes. Ich lese ein Element ein, z.B.
Code:
var el = $('*[class="hello"]').sort(function(){
 // ...
});
So, jetzt möchte ich das erste (also 0te) Element auf ein vorhandenes Attribut prüfen. Die Frage ist, wie mache ich das?
Mein Lösungsversuch ist im IE gescheitert:
Code:
if(typeof el[0] !== 'undefined' && $(el[0]).attr("myAttribute") == "no"){

// EDIT:
Also ich bin wirklich ratlos, denn $(el).eq(0).attr("myAttribute") funktioniert z.B. im FF super, aber im IE eben nicht. Ich kann aber auch nicht auf sort verzichten.
 
Zuletzt bearbeitet:

JPS

Nicht mehr ganz neu hier

AW: Attribut aus eingelesenem Object auslesen

Vielleicht kannst Du es anderesherum machen?

HTML:
$('*[class="hello"]').filter(function() {     return $(this).atrr("myAttribute") == "no";  })


Diese Ergebnisse in dein Array schreiben und das dann sortieren.
 
Zuletzt bearbeitet:
AW: Attribut aus eingelesenem Object auslesen

Hallo und danke für deinen Beitrag,

die sort-Function und die nachfolgende Auslesung des Attributs sind unabhängig voneinander. Das heißt der sort hat eine ganz andere Aufgabe. Der Rückgabewert wird in var el gespeichert und von diesem ersten Element inside dieses Objects soll dann das Attribut ausgelesen werden.
 

Duddle

Posting-Frequenz: 14µHz

AW: Attribut aus eingelesenem Object auslesen

Code:
if(typeof el[0] !== 'undefined' && $(el[0]).attr("myAttribute") == "no"){
funktioniert im IE10, zumindest bei mir.


Duddle
 

JPS

Nicht mehr ganz neu hier

AW: Attribut aus eingelesenem Object auslesen

Hast du es mal nur mit dem rechten Teil der if Abfrage probiert?
Wenn das mit dem Attribut erfüllt ist, ist der momentan Rechte ja eh gegeben.
 

JPS

Nicht mehr ganz neu hier

AW: Attribut aus eingelesenem Object auslesen

Probiere mal
if ($(el[0]).prop("no"))

Das sollte true liefern, wenn das "no" da ist
 

JPS

Nicht mehr ganz neu hier

AW: Attribut aus eingelesenem Object auslesen

Hast Du mal das e[0] als alert ausgegeben? Was steht da drin?
 

Curanai

Aktives Mitglied

AW: Attribut aus eingelesenem Object auslesen

Hi Julian,

besteht die Möglichkeit, dass Du mehr als ein Tag mit der Klasse "hello" hast? Du sprichst zwar nur von einem Element, Deine Wildcard führt mich aber in diese Richtung ... was dann zu tun wäre, wüsstest Du. ;)

Grüße.
 
Hi, ja mein eigentlicher also wirklicher Selektor selektiert mehrere Elemente. Wie beschrieben werden diese durch einen eigenen Algorithmus sortiert. Anschließen soll das erste Element auf ein vorhandenes Attribut geprüft werden. But how to? That's the important question
 

Curanai

Aktives Mitglied

AW: Attribut aus eingelesenem Object auslesen

Hmmm ... hab Dir mal ein "fiddle" reingestellt ... da ich nicht sehen kann, was Deine Sortierfunktion macht, zeige ich Dir, was meine macht ...

Wenn Du "fiddle" aufrust, meldet eine alert-Box ein "A" - gegeben ist ein Tag mit OL, darunter gemischte LI - er sortiert und schreibt das OL direkt neu und liest danach einfach via first-child aus ...

Ob es Dir hilft, weiß ich nicht ... eine schönere Lösung hätte ich für Dich jetzt auf Anhieb nicht gehabt. ;)

Grüße.

Der Link zu JSfiddle.
 

JPS

Nicht mehr ganz neu hier

AW: Attribut aus eingelesenem Object auslesen

Ja, aber Du überprüfst dabei gar nicht ob ein HTML Attribut, wie z.B. das href beim <a> einen bestimmten Wert hat und ich glaube, dass war das Problem.
 

Curanai

Aktives Mitglied

AW: Attribut aus eingelesenem Object auslesen

@JPS: ... updated ... lies es einfach aus?! Ich habe "data" jetzt auf die Schnelle als Attribut benutzt: JSfiddle

EDIT: Daher sagte ich ja, dass es schwierig ist und man ein wenig Herumstochern muss ... simuliere ich das auf IE8 direkt auf JSfiddle, erhalte ich zwar Meldungen bzgl. "wird nicht unterstützt", allerdings kommt mein alert(). Nun aber bitte nicht mit "das ist kein echter IE8" kommen. ^^
 
Zuletzt bearbeitet:

JPS

Nicht mehr ganz neu hier

AW: Attribut aus eingelesenem Object auslesen

Wie kommt man eigentlich auf IE8? Ist das der letzte IE auf ner Windows Maschine mit XP?
 
AW: Attribut aus eingelesenem Object auslesen

Wie kommt man eigentlich auf IE8? Ist das der letzte IE auf ner Windows Maschine mit XP?
Korrekt :)

@Curanai: Danke für die Rückmeldung. Das ist soweit auch in meinem nativen IE8 funktionierend, das hatte ich bereits vorher ausprobiert. Würde ich $('*[class="hello"]:first-child') noch einmal als Selektor nehmen, habe ich jedoch wieder das unsortierte 1ste Element. Ich sortiere ja meinen Input und speichere ihn in var el ab. Und aus der sortierten Variable möchte ich nun den 1sten (0ten) werd lesen. Das heißt für mich ist es keine Lösung das Element über einen weiteren Selektor auszulesen, weil das nicht wirklich das Element sein wird was ich brauche (da durch sort geändert wird).
 

Curanai

Aktives Mitglied

AW: Attribut aus eingelesenem Object auslesen

Glaube ja (wollte gerade mal prüfen, aber XP spackt rum - lach) ... spielt aber eigentlich gar keine Rolle. Ich gehe eher davon aus, dass die Rückgabe seiner Sortierung (daher mein Beispiel) nicht verwertbar ist - bzw. nicht so wie erwartet. Nur sehen wir das nicht ...
 

Curanai

Aktives Mitglied

AW: Attribut aus eingelesenem Object auslesen

@Julian: Doch, genau das ist dann Deine Lösung ... ich hab im zweiten Fiddle das "A" mal umgestellt, damit es ersichtlicher ist, dass wirklich sortiert wird. Wenn Deine Abfrage Dir zwar den 0-Index gibt, das aber nicht erwartungsgem. sortiert ist, wo liegt dann wohl der Knackpunkt? *schmunzel*

Und dass :first-child bei Erstaufnahme nur den 0-Index liefert eines unsortieren Tags ... hey, komm schon ... das ist doch logisch!! :D


EDIT: Also wenn Du Dir sicher bist, dass es funktioniert mit Deiner eigenen Sortierung (sollte also auch zurückschreiben, gell?), dann verwende zum Mitschreiben des Ergebnisses ein "var newSort = []" und lies nach Fertigstellung aus diesem aus ...
 
Zuletzt bearbeitet:
AW: Attribut aus eingelesenem Object auslesen

@Curanai: Jaa, theoretisch ist das schon richtig *lach*. Aber was du machst ist deine Sortierung in einem Element in HTML speichern, ich jedoch in JS in einer Variable. Das sind zwei unterschiedliche paar Schuhe :D
Sicher, ich könnte jetzt auch meine Elemente in ein Element packen dass ich einfach ausblende, aber ich denke doch dass das nicht die optimalste Möglichkeit ist.
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.635
Beiträge
1.538.453
Mitglieder
67.557
Neuestes Mitglied
Charal
Oben