1

以下に、ループして各行の各セルの値を取得しようとしている単純なテーブルがあります<td>s

findしかし、存在しないというエラーが表示され、はい、jqueryが追加されます。助けてくれませんか。ありがとう

$(document).ready(function () {
    var x = $('table tr:has(td)');
    $.each(x, function (i, v) {

        alert(
        v.find('td').eq(0).text()); + " ----" + v.find('td').eq(1).find('option:selected').val(););
    });

});

<table>
    <tbody>
        <tr>
            <th>a</th>
            <th>b</th>
        </tr>
        <tr>
            <td>test</td>
            <td>
                <select>
                    <option value="yes">yes</option>
                    <option selected="selected" value="no">no</option>
                </select>
            </td>
        </tr>
        <tr>
            <td>test</td>
            <td>
                <select>
                    <option value="yes">yes</option>
                    <option selected="selected" value="no">no</option>
                </select>
            </td>
        </tr>
        <tr>
            <td>test</td>
            <td>
                <select>
                    <option value="yes">yes</option>
                    <option selected="selected" value="no">no</option>
                </select>
            </td>
        </tr>
        <tr>
            <td>test</td>
            <td>
                <select>
                    <option value="yes">yes</option>
                    <option selected="selected" value="no">no</option>
                </select>
            </td>
        </tr>
        <tr>
            <td>test</td>
            <td>
                <select>
                    <option value="yes">yes</option>
                    <option selected="selected" value="no">no</option>
                </select>
            </td>
        </tr>
    </tbody>
</table>
4

2 に答える 2

1

v$はDOMの要素であるため、別のjQueryメソッドをチェーンするために関数にラップする必要があります。$(v).find(...)

注:次のように書くこともできます$(this).find(...)

于 2012-07-31T12:02:37.957 に答える
1
$(document).ready(function () {
    $('table tr:has(td)').each(function (tr) {
        $('td', tr).each(function (td) {
          alert($(td).text());
        });
    });
});
于 2012-07-31T12:06:54.227 に答える