Holen Sie sich das Attribut des untergeordneten Elements

Lesezeit: 2 Minuten

Benutzer-Avatar
PruitIgoe

Wenn ich folgendes Markup habe:

<p class="header hours">
    <a href="https://stackoverflow.com/questions/4740297/javascript:void(0)" class="sort" sortcat="hours">
        Hours&nbsp;<span class="imgholder" sortcat="hours">&nbsp;</span>
    </a>
</p>

Wie kann ich gezielt die <span> -Tag innerhalb des Anchor-Tags? Es gibt fünf weitere ähnliche <p> Tag-Einträge mit jeweils einem anderen Wert für sortcat=

  • Möchten Sie etwas mit der untergeordneten Spanne tun, wenn auf den Link geklickt wird, oder … ?

    – mkorjak

    19. Januar 2011 um 20:29 Uhr

  • @Pruitlgoe href="javascript:void(0)" Ich dachte, wir waren uns einig, dass Sie diese Abscheulichkeit nicht benutzen :)

    – Sime Vidas

    19. Januar 2011 um 20:30 Uhr

  • @Pruitlgoe Außerdem möchten Sie diesen benutzerdefinierten Attributen möglicherweise das Präfix voranstellen data-. jQuery bietet hervorragende Unterstützung für HTML5 data-* Attribute über seine data() Methode.

    – Sime Vidas

    19. Januar 2011 um 20:34 Uhr

  • @ Šime Vidas – wir haben? Warum sollten Sie es nicht verwenden?

    – PruitIgoe

    20. Januar 2011 um 12:05 Uhr

  • @mkoryak Abhängig von der letzten Sortierung wird eine Aufwärts- oder Abwärtspfeilgrafik angezeigt. Klicken Sie zuerst auf die aufsteigende Sortierung, dann wechseln sie sich ab …

    – PruitIgoe

    20. Januar 2011 um 14:33 Uhr

$(".sort").click(function(){
  var cat =  $(this).children("span").attr("sortcat");
  //do something with the sortcat
});

  • Ausgezeichnet, das hat genau so funktioniert, wie ich es brauchte. Ich habe den $(this).children-Aufruf durcheinander gebracht, indem ich $(this).children.attr(“sortcat”) geschrieben habe … dumme Spezifität … : D

    – PruitIgoe

    20. Januar 2011 um 14:39 Uhr

  • Kein Problem, übrigens, Sie haben in Ihrer Frage nie das “Anklicken” erwähnt, weshalb Sie so viele Antworten erhalten haben, bei denen es nicht darum geht, auf etwas zu klicken

    – mkorjak

    20. Januar 2011 um 14:57 Uhr

  • Ausgezeichnet und brillant; Das ist genau das, was ich erwartet hatte

    – Ariful-Islam

    28. Dezember 2021 um 5:53 Uhr

$("a span[sortcat]").attr('sortcat')

Das gibt Ihnen das erste Element sortcat Wert. Um alle zu erhalten, tun Sie dies:

$("a span[sortcat]").map(function(){ return $(this).attr('sortcat') })

Sehen Sie sich diese funktionierende Demo an: http://jsfiddle.net/BwgDW/

  • Was ist, wenn ich ein bestimmtes erhalten möchte, auf welches Anker-Tag jemals geklickt wurde?

    – PruitIgoe

    20. Januar 2011 um 14:36 ​​Uhr

$('.sort span')

Habe ich falsch verstanden?

find() findet Elemente innerhalb eines gegebenen Elements.

$('a.sort').find('span');

  • Ich muss das span-Tag innerhalb des spezifischen Ankers angeklickt bekommen – ich habe versucht zu sehen, ob ich mit $(this) dorthin gelangen könnte, es hat bis zu einem gewissen Grad funktioniert, ich kann $(this).parent verwenden, um den Baum nach oben zu gehen, hatte aber keine Glück geht unter.

    – PruitIgoe

    20. Januar 2011 um 14:35 Uhr

1143130cookie-checkHolen Sie sich das Attribut des untergeordneten Elements

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy