2014-06-13 8 views
5

Ich möchte die JavaScript-Funktion getElementsByClassName Schleife in einigen html divs verwenden, die nicht die genau Klassennamen haben, aber es beginnt mit dem gleichen Text: „akordeon Punkt“jquery getElementsByClassName finden Teilklassennamen

so sieht der hTML-Text wie folgt aus:

<div class="akordeon-item akordeon-item-first"> 

<div> 
    <span class="userid"> 
      [email protected] 
    </span> 
</div> 
</div> 
<div class="akordeon-item akordeon-item-second"> 

<div> 
    <span class="userid"> 
      [email protected] 
    </span> 
</div> 
</div> 
<div class="akordeon-item akordeon-item-third"> 

<div> 
    <span class="userid"> 
      [email protected] 
    </span> 
</div> 
</div> 

<div class="akordeon-item akordeon-item-fourth"> 

<div> 
    <span class="userid"> 
      [email protected] 
    </span> 
</div> 

auch der Javascript-Code ich habe versucht, ist dieses:

var slides = getElementsByClassName(".akordeon-item"); 
for(var i = 0; i < slides.length; i++) 
{ 
    alert("element : "+slides[i]); 
} 

ich habe auch versucht, in den getElemen für diese Zeichenfolge gesucht tsByClassName Methode: "akordeon-item"

Wie kann ich diese Schleife arbeiten lassen? Bitte helfen ...

+1

Frage scheint unklar ..! –

+1

Entfernen Sie den Punkt '.',' getElementsByClassName' nimmt den Literalklassennamen, keinen Selektor – CodingIntrigue

+0

seit Sie jquery: $ ('[class^= "text"]') – gulty

Antwort

20

Es gibt a bunch of special selectors Sie Gebrauch machen können:

^= is starts with 

$= is ends with  
= is exactly equal 
!= is not equal 
*= is contains 

Versuchen:

$.each($('[class^="akordeon-item"]'), function(key, value) { 
    console.log(key, value); 
}); 

Alternative Wege über den Satz zu wiederholen:

$('[class^="akordeon-item"]').each(function(key, value) { 
    console.log(key, value); 
}); 

oder mit einer for Schleife:

var slides = $('[class^="akordeon-item"]'); 
for (var i = 0; i < slides.length; i++) { 
    console.log(slides[i]); 
} 
+1

Und das wäre 'Funktion (Index, Wert) {' relevanter .. da es keine Schlüsselwerte bekommen wird. –

+0

@SomnathKharat das erste Wort im Titel ist 'jquery'. Außerdem ist die Frage unter 'jquery' markiert. – martynas

+0

er hinzugefügt jquery zu seinen Tags – gulty

2
$('div[class^="akordeon-item"]').each(function(index){});