Wie kann ich wählen Sie ein untergeordnetes element durch ID mit jQuery?

Ich habe Probleme beim auswählen von text innerhalb eines span-Elements, die sich in einem anderen container.

Die situation, die ich zu lösen versuche ist auf der Seite wir haben vielleicht 10-15 verschiedene Adressen in einer Zeit (so bin ich das anfügen einer Datensatz-Id in der div-ID, wenn die Seite erstellt wird). Ich muss in der Lage sein zu wählen, einer bestimmten durch eine ID, und dann finden Sie die Adresse, die Stücke drin.

Ein Beispiel für die HTML-Ausgabe würde wie folgt Aussehen:

<div id="Address_1">
    <span id="Address">Some Address</span>
    <span id="City">Some City</span>
    <span id="State">Some State</span>
    <span id="Zip">Some Zip</span>
</div>

<div id="Address_2">
    <span id="Address">Some Address</span>
    <span id="City">Some City</span>
    <span id="State">Some State</span>
    <span id="Zip">Some Zip</span>
</div>

Ich habe versucht, mit der folgenden (und viele, viele Variationen):

$("#Address_" + Id).children().find("#Address").text;
$("#Address_" + Id).find("span#Address").text;
$("#Address_" + Id).find("span").find("#Address").text;

(Ich kann auch mit einer Klasse innerhalb der Spannweiten, anstatt einer ID, aber ich würde gerne wissen, wie man es von ID.)

Ich bin sicher, es ist etwas sehr einfaches, das mache ich falsch, aber ich kann scheinen, um es herauszufinden. Ich habe gesucht, viele Fragen, die auch hier auf der Suche für eine ähnliche, aber ich kann nicht scheinen zu finden, was ich Suche. Ich entschuldige mich im Voraus, wenn ich einfach nicht Suche mit der richtigen Phrasierung.

Jegliche Hilfe wird sehr geschätzt.

UPDATE: Hier ist meine Lösung, Dank der Hilfe von Ken Redler.

<div id="Address_1">
    <span class="Address">Some Address</span>
    <span class="City">Some City</span>
    <span class="State">Some State</span>
    <span class="Zip">Some Zip</span>
</div>

$("#Address_" + Id).find("span.Address").text();
  • ID-Attribut-Werte müssen eindeutig über das gesamte Dokument. Auch, wenn Sie markieren die Adressen, sollten Sie vielleicht einen Blick auf das hCard Mikroformat
  • Danke, ich oft vergessen, dass es einzigartig in html, da es nicht "gezwungen", wie es im code-Kompilierung (wie Visual Studio). Ich guck in das Mikroformat, die Sie erwähnt, aber da dies ist eine kleine interne Anwendung, die ich nicht wissen, dass es würde gelten. Danke für den Tipp aber!
  • +1 @Yi Jiang, obwohl es sich lohnt, in Anbetracht @Codinghorror blog-Eintrag: codinghorror.com/blog/2009/12/microformats-boon-or-bane.html
InformationsquelleAutor Delebrin | 2010-08-20
Schreibe einen Kommentar