Ich habe ein DOM-Element mit einer ID ähnlich wie:DOM-Element nach ID suchen, wenn ID eckige Klammern enthält?
something[500]
, die durch meine Ruby on Rails-Anwendung gebaut wurde. Ich muss in der Lage sein, dieses Element über jQuery zu bekommen, so dass ich den DOM nach oben gehen kann, um das Elternteil seines Elternteils zu löschen, das eine Variablen-ID hat, auf die ich vorher keinen Zugriff hatte.
Weiß jemand, wie ich das machen könnte? Der folgende Code nicht zu funktionieren scheint:
alert($("#something["+id+"]").parent().parent().attr("id"));
Bei einer weiteren Untersuchung, die folgenden:
$("#something["+id+"]")
ein Objekt zurückgibt, aber wenn ich ".html()" oder“.text laufen() "Das Ergebnis ist immer Null oder nur eine leere Zeichenfolge.
Jede Hilfe würde sehr geschätzt werden.
Neben der richtigen Antwort (das ist, dass Du musst dem entkommen Klammern mit doppelten Backslashes), sollten Sie engste() statt mehrere Parent() -Aufrufe verwenden. Es ist sauberer und weniger wahrscheinlich zu brechen, wenn sich ein Level ändert ... Wenn Sie also versuchen, das nächste div zu bekommen, tun Sie .closest ('div') oder noch besser .closest ('div.meaningfulclasts thatiwant') –
Danke für den Vorschlag Paolo, aber wie ich erwähnt habe, kenne ich nicht die ID/Klasse des Elternteils, nach dem ich im Voraus suche, und da beide Eltern divs sind, würde das nächste nicht funktionieren. Trotzdem danke. –
Ah, Entschuldigung, ich habe die Frage nicht gelesen, nur den Titel und den darin enthaltenen Code angeschaut :) Schätze das mir recht behilflich ist. –