3

aボタンとして要素のスタイルをクリックして、前の入力と次の入力の値を取得する必要があり ます...コード例:

<ul>
    <li>
        <input type="text">
    </li>
</ul>
<ul>
    <li class="li-inline">
        <a class="btn" href="#">
            <i class=""></i>
        </a>
    </li>
</ul>
<ul>
    <li>
        <input type="text">
    </li>
</ul>

jqueryメソッドを試してみましnext()たが、期待した結果が得られませんでした。prev()

$("a").click(function() {
  $(this).next(":input");
});
4

3 に答える 3

3

ulまず、を使用して親に到達し、次に またはを使用してそれぞれ次またはclosest()前に移動し、を使用して子孫の入力を見つける必要がありますulnext()prev()find()

ライブデモ

$("a").click(function() {
     $(this).closest('ul').prev('ul').find(":input");
     $(this).closest('ul').next('ul').find(":input");
});
于 2012-12-06T15:22:00.010 に答える
0

これを試して:

$("a").click(function() {
    var $a = $(this);
    var prevInputValue = $a.closest('ul').prev().find('input').val();
    var nextInputValue = $a.closest('ul').next().find('input').val();
});

元のコードでは、要素がの兄弟ではないnext()ため、機能しません。それらを含む関連するものを見つけるには、DOM をトラバースする必要があります。inputaul

于 2012-12-06T15:22:38.870 に答える
0

以下のコードを試してください

$("a").click(function() {

var previous =   $($(this).closest('ul').prev('ul').find.(":input").get(0)).val();

var next=   $($(this).closest('ul').next('ul').find.(":input").get(0)).val();
});

ありがとう

于 2012-12-06T15:24:01.987 に答える