jquery, zoek het volgende element op klasse

Hoe kan ik het volgende element per klasse vinden.

ik heb geprobeerd met $(obj).next('.class');maar dit geeft alleen klassen terug in de bovenliggende $(obj).
Ik moet het volgende element overal in de code op klassenaam nemen.
Omdat mijn code eruitziet als

<table>
<tr><td><div class="class">First</div></td></tr>
<tr><td><div class="class">Second</div></td></tr>
</table>

Is dit mogelijk?


Antwoord 1, autoriteit 100%

In dit geval moet je naar de <tr>engaan en .next(), zoals dit:

$(obj).closest('tr').next().find('.class');

Of als er rijen tussen kunnen staan ​​zonder de .classerin, kunt u .nextAll(), zoals dit:

$(obj).closest('tr').nextAll(':has(.class):first').find('.class');

Antwoord 2, autoriteit 17%

Om het volgende element met dezelfde klasse te vinden:

$(".class").eq( $(".class").index( $(element) ) + 1 )

Antwoord 3, autoriteit 10%

Je kunt next() in dit scenario niet gebruiken als je de documentatiebekijkt er staat:

Volgende() Verkrijg deonmiddellijk volgende broer of zus van elk elementin de set van overeenkomende elementen. Als er een selector is opgegeven, wordt de volgende broer of zus opgehaald die overeenkomt met de selector.

dus als de tweede DIV in dezelfde TD zat, dan zou je kunnen coderen:


// Won't work in your case
$(obj).next().filter('.class');

Maar aangezien dat niet het geval is, zie ik geen reden om next() te gebruiken. U kunt in plaats daarvan coderen:


$(obj).parents('table').find('.class')


Antwoord 4

Gegeven een eerste selector: SelectorA, kunt u de volgende match van SelectorBvinden zoals hieronder:

Voorbeeld met muisaanwijzer om de rand te wijzigen met:

$("SelectorA").on("mouseover", function() {
    var i = $(this).find("SelectorB")[0];
    $(i).css({"border" : "1px"});
    });
}

Algemeen gebruiksvoorbeeld om de grens te wijzigen met:

var i = $("SelectorA").find("SelectorB")[0];
$(i).css({"border" : "1px"});

Antwoord 5

Volgende element zoeken op tagnaam

 function findNext(start, tag)
    {
      while(start.nodeName !== tag)
      {
            start = start.nextElementSibling;
      }
      return start;
    }

Other episodes