1

jQuery コードで正しい要素を選択するのに問題があります。DOM の基本的な外観は次のとおりです。

<div class='bad_link'>
    <p><a href='...'>...</a></p>
    <p><a href='...'>...</a></p>
    <input type='text' size='100' name='....' />
    <input class='check_button' type='button' name='check_link' value='Check' />
</div>

「チェック」ボタンの真上にある入力フィールドの値を取得しようとしているのですが、うまくいきません。

これは私のjQueryコードです:

$(document).ready(function() {
    $(".check_button").on('click', function() {
        window.alert($(this).siblings().find('input').text());
    });
});

どうすればその値を取得できますか?? ありがとう!

4

3 に答える 3

5

.prev()チェックボックスの前の要素を選択します。

    $(".check_button").on('click', function() {
        window.alert($(this).prev('input[type="text"]').val());
    });

$(this).prev().val();もオプションです

于 2012-04-30T17:23:33.180 に答える
2

prev()を使用して前の兄弟を選択し、val()を使用して入力の値を取得します。

window.alert($(this).prev().val());
于 2012-04-30T17:24:46.347 に答える
1

操作を実行する要素を見つけるために、これとは異なるアプローチを検討することをお勧めします。兄弟を使用すると、機能が HTML に非常に密接に結び付けられますが、これは一般的に不適切な形式と見なされます。タグを移動したり、別のタグを追加したりするだけで機能が損なわれる可能性があることを理解するのは困難です。

代わりに、クラスで作業したい要素を与えることをお勧めします。xxxobj_myElement_xxxは要素の ID です。次に、要素のIDに対応するボタンに属性を設定して、次を使用できるようにします。

$(".obj_myElement_" + $(this).attr("data-myElementId"))

操作しようとしている要素を取得します。

于 2012-04-30T17:27:37.950 に答える