2016-04-13 12 views
0

Her satır için üç sıralı ve üç hücreli bir HTML tablom var. Her bir hücrenin sınıf adı vardır. Her hücrenin sınıf adını almak ve diziye yazmak istiyorum.Tablo tds sınıf adları nasıl alınır ve jQuery kullanarak bir diziye yazılır?

HTML tablosu: getBoard işlev çağrıldığında

<table> 
    <tr> 
     <td class="O-marker"></td> 
     <td class="O-marker"></td> 
     <td class="X-marker"></td> 
    </tr> 
    <tr> 
     <td class="X-marker"></td> 
     <td class="O-marker"></td> 
     <td class="X-marker"></td> 
    </tr> 
    <tr> 
     <td class="X-marker"></td> 
     <td class="O-marker"></td> 
     <td class="O-marker"></td> 
    </tr> 
</table> 

sonra hücrelerin tüm sınıf isimleri almak ve board diziye yazın.

function getBoard() { 
    var board = []; 
    return board; 
} 

Ben sınıf adını almak ve dizinin board içine ilk karakteri itmek jQuery ve .each() yöntemi kullanmak istiyorum. Örnek. İlk karakterle (X veya O) demek istiyorum.

cevap

1

kullanma vanilya JS:

function getBoard() { 
    var board = []; 
    var tds = document.getElementsByTagName('td'); 
    for (var i = 0; i < tds.length; i += 1) { 
    board.push(tds[i].className[0]); 
    } 
    return board; 
} 

Veya jQuery:

function getBoard() { 
    var board = []; 
    $('td').each(function(){ 
    board.push(this.className[0]); 
    }); 
    return board; 
} 
1

jQuery kullanarak:

function getBoard() { 
    var board = []; 

    $('.table td').each(function (index) { 
     board.push($(this).attr('class')[0]); 
    }); 

    return board; 
} 

console.log(getBoard()); 

Sen (? Çeşit) bir dizi olarak dize davranabilirsiniz ve [0] ile ilk karakteri olsun.

İlgili konular