在表格中输入最后一个文件

Ric*_*nop 0 javascript jquery

这是我的HTML:

    <table>
        <tbody><tr>
            <td>
                <label for="DocumentsName">Názov</label>
            </td>

            <td>
            <input name="DocumentsName" class="input documentsName" value="" style="width: 10em;" type="text">
            </td>
        </tr>
        <tr>
            <td>
                <label for="DocumentsDescription">Popis</label>
            </td>

            <td>
            <textarea name="DocumentsDescription" id="DocumentsDescription" cols="15" rows="4" class="input" style="width: 340px; font: 1em sans-serif;"></textarea>
            </td>
        </tr>
        <tr>
            <td>
                <label for="Document1">Doc 1</label>
            </td>

            <td>
            <input name="Document1" class="input document1" style="width: 10em;" type="file">
            </td>
        </tr>
    </tbody></table>
    <a href="#" id="addDocumentFileInput">+++++</a>
Run Code Online (Sandbox Code Playgroud)

我想在单击#addDocumentFileInput链接时从表中获取带有type ="file"的最新输入.

返回null.为什么?

    <script type="text/javascript">
    $(document).ready(function() {

        $("#addDocumentFileInput").click(function() {
            var $lastFileInput = $(this).prev().children("tr").last().children("input");
            alert($lastFileInput.html());
            return false;
        });

    });
    </script>   
Run Code Online (Sandbox Code Playgroud)

Fel*_*ing 6

因为prev()给你table元素而且它没有tr孩子,只有一个tbody孩子.一排也没有input孩子,只有td孩子.

children 仅搜索下一级的元素.

find改为使用:

$(this).prev().find('input[type="file"]').last()
// or fancy: find('input:file:last')
Run Code Online (Sandbox Code Playgroud)