获取特定列的值列表

时间:2012-03-01 18:43:43

标签: jquery

我正在学习jquery,目前正在玩jsfiddle。首先,我观看了复数视频和AppendTo的基本视频。

如果您查看此http://jsfiddle.net/bmNKU/7/,我会尝试从特定列中获取值列表(在本例中为电子邮件ID列表)。

我已经设法获得循环,但它显示了所有行和列的值...我想要的最终输出是来自EmailID列的所有行中的所有电子邮件ID的列表。即,abc @ gmail.com,xyz @ gmail.com等......可以有任意数量的行。

4 个答案:

答案 0 :(得分:1)

首先,您应该只在标题行(具有“ID”,“电子邮件”)的行上使用th,并在包含数据的行上使用td。然后,您可以选择'#mytable td',这将跳过标题列。其次,如果您使用类来标记列,则会更容易。这是一个例子:

HTML:

<table id='mytable' border='1'>
    <tr>
        <th>ID</th>
        <th>Email</th>
    </tr>
    <tr>
        <td class='ID'>1</td>
        <td class='Email'>abc@gmail.com</td>
    </tr>
    <tr>
        <td class='ID'>2</td>
        <td class='Email'>xyz@gmail.com</td>
    </tr>
</table>

然后Javascript:

$(document).ready( function( ) {
    $('#btn').click( function( ) {
        $('#mytable td.Email').each( function( ) {
            alert( $(this).html( ) );
        } );
    } );
} );

答案 1 :(得分:1)

这是一个使用您的标记创建新的无序列表的版本。应该使用td而不是

http://jsfiddle.net/bmNKU/14/

$(document).ready(function() {
    /* add a new ul to put emails into*/
    $('body').append( '<ul id="list"></ul>');    

    $("#btn").click(function() {
                             /* start an html string*/
        var html = ''; 
        /* loop over table*/
        $('tr:gt(0)').each(function() {
            var email = $(this).find('th').eq(1).text();
            /* concatenate each new element to html string */
            html += '<li>' + email + '</li>';
        })

        /* add new html to DOM*/
        $('#list').html(html);

    });
});

答案 2 :(得分:0)

首先,让我们清理一下这个标记。其次,考虑你的小提琴的这个版本找到所有ID和电子邮件并将它们添加到一个数组中,你可以点击按钮来做你喜欢的事情(在这个例子中,输出到div):http://jsfiddle.net/bmNKU/10/

答案 3 :(得分:0)

首先,应该调整你的html表。 “th”用于表示表列标题,而不是值。 “td”应该在这里使用。

接下来,通过为每个“td”指定一个类,您可以通过jquery轻松地引用它们。

Here's a working example.