1

各 3 番目の li の文字列を作成するにはどうすればよいですか?

black,red,blue

これから:

<div id="container">
    <ul>
        <li>shirt</li>
        <li>x-large</li>
        <li>black</li>
        <li>9.99</li>
    </ul>
    <ul>
        <li>pants</li>
        <li>large</li>
        <li>red</li>
        <li>19.99</li>
    </ul>
    <ul>
        <li>shoes</li>
        <li>medium</li>
        <li>blue</li>
        <li>9.99</li>
    </ul>
</div>
4

5 に答える 5

3

以下のようにしてみてください、

$(function () {
   var result = [];
   $('#container ul').find('li:eq(2)').each(function () {
      result.push($(this).text());
   });

   result.join();

});

デモ:http: //jsfiddle.net/BxJbH/

于 2013-02-05T15:14:44.243 に答える
3

を使用nth-child(3)して、3番目の子であるすべての要素を取得できます。

var colors = [];
$("#container").find('li:nth-child(3)').text(function (_, text) {
    colors.push(text);
});
console.log(colors.join(','));

http://jsfiddle.net/ExplosionPIlls/CfrWX/1/

于 2013-02-05T15:15:32.503 に答える
1

配列を使用する代わりに、+=文字列を連結するために使用できます。

myString = "";
$('ul li:nth-child(3)').each(function(){
    myString += ","+$(this).text();
})
console.log(myString.substring(1));
// returns 'black,red,blue'

http://jsfiddle.net/phtMx/

于 2013-02-05T15:16:08.757 に答える
1
var concatenated = $.map($('li:nth-child(3)'), function(a, i) {
    return $(a).html();
}).join(',')
于 2013-02-05T15:27:52.500 に答える
0

他の回答が言ったように、nth-childセレクターを使用します。

$(function(){
    var strings = $('#container').find('li:nth-child(3)').map(function(){
        return $(this).text();
    }).get().join(', ');
    $('#result').text(strings);
});

デモ - http://jsbin.com/efavor/2/edit

于 2013-02-05T15:27:01.310 に答える