0

一連のネストされたテーブルがあり (構造を変更できないと仮定しましょう)、最も外側の td を選択する必要があります。

HTML のテスト

<table>
    <tr>
        <td>
            <table class="relevanttable">
                <tr>
                    <td>one</td>
                    <td>two</td>
                    <td>
                        the important td
                        <table>
                            <tr>
                                <td>three - one</td>
                                <td>three - two <input id="targetinput" /></td>
                            </tr>
                        </table>
                    </td>
                </tr>
            </table>
        </td>
    </tr>
</table>

JS:

var relevant_field = $('#targetinput');
var target_table = relevant_field.closest('.relevanttable');
// I want something like this
var important_cell = last_selected.closest('.relevanttable > tr > td');

related_field.parentsUntil('.tableanswer', 'td') を使用してこれを実行できると思いますが、それから最も遠いアイテムを特定しますが、これを攻撃してすぐに正確なものを選択するより良い方法があるかどうか疑問に思っていますこれは単純な例ですが、相互にネストされた複数のテーブルが存在する可能性があり、最も外側のテーブルは私が関心を持っているテーブルではない可能性があります。

最初のいくつかのコメント/回答に応じた更新:

$('#targetInput').parents('td').last()

私の例に示されているよりも多くのネストがある可能性があるため、これは正しくありません。それは table > table > table.relevanttable (これは重要ではなく、最も近いものだけです) > table.relevanttable > table > table >...> td です。

また、何らかのコンテキストを提供するために、ユーザーの操作に基づいてデータがテーブルに書き込まれます。ユーザーとのやり取りであるため、何が重要になるかを事前に知る方法はありません。table.relevanttable 内に table.relevanttable が存在する場合がありますが、最も近いテーブルのみを使用する必要があります。一部の Excel セルにはシート全体が含まれていることを除いて、データを Excel に貼り付けるようなものと考えてください。それは、Excel と Inception の出会いです。

4

2 に答える 2