2014-06-13 14 views
5

Chcę użyć funkcji JavaScript getElementsByClassName do pętli w niektórych div HTML, które nie mają dokładnie nazwę klasy, ale to zaczyna się od tego samego tekstu: „akordeon-item”jquery getElementsByClassName znaleźć częściową nazwę klasy

tak, tekst html wygląda następująco:

<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> 

również kod javascript próbowałem jest to jedno:

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

próbowałem też szukając tego łańcucha wewnątrz getElemen Metoda tsByClassName: "akordeon-item"

Jak mogę uruchomić tę pętlę? Proszę o pomoc ...

+1

Pytanie wydaje się jasne ..! –

+1

Usuń kropkę '.',' getElementsByClassName' pobiera literalną nazwę klasy, a nie selektor – CodingIntrigue

+0

, ponieważ zaznaczyłeś jquery: $ ('[class^= "text"]') – gulty

Odpowiedz

20

Jest a bunch of special selectors można skorzystać z:

^= is starts with 

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

Spróbuj:

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

Alternatywne sposoby iteracyjne nad zestawu:

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

lub za pomocą for pętlę:

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

I to będzie 'funkcja (indeks, wartość) {' bardziej istotne .. ponieważ nie dostanie żadnych wartości kluczowych .. –

+0

@SomnathKharat Pierwsze słowo w tytule to 'jquery'. Ponadto pytanie jest oznaczone w "jquery". – martynas

+0

dodał jquery do swoich tagów – gulty

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