循环遍历表中的行并获取行查找错误中的每个值

loop through table row and get each value in row - find error?

本文关键字:错误 查找 遍历 循环 获取      更新时间:2024-06-28

下面我有一个简单的表,我试图循环遍历它,如果它有<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>

v是DOM上的元素,因此需要将其封装到$函数中,以便链接另一个jQuery方法:$(v).find(...)

注意:您也可以编写$(this).find(...)

$(document).ready(function () {
    $('table tr:has(td)').each(function (tr) {
        $('td', tr).each(function (td) {
          alert($(td).text());
        });
    });
});