jQuery - 选择并更改输入父div的值

时间:2014-02-04 17:40:50

标签: jquery

我现在正试图填写LI中包含单词John的输入框,我知道我需要使用.val但不确定如何实现

http://jsfiddle.net/qYdwR/1258/

<ul>
    <li>
    <div>John Resig</div>
        <input class="myinput"></input>
        <input class="myinput2"></input>
        <input class="myinput3"></input>
    </li>
    <li>
    <div>Simon Resig</div>
        <input class="myinput"></input>
        <input class="myinput2"></input>
        <input class="myinput3"></input>
    </li>
    <li>
    <div>Arthur Resig</div>
        <input class="myinput"></input>
        <input class="myinput2"></input>
        <input class="myinput3"></input>
    </li>
</ul>

我想我需要结合......

$( "div:contains('John')" ).css( "text-decoration", "underline" );
$("#myinput").val('thisistheclass');

有人指出我正确的方向吗?

2 个答案:

答案 0 :(得分:1)

您可以使用.next()选择元素的下一个sibling。在您的上下文中,input元素是divs

的直接兄弟

试试吧,

  $("div:contains('John')")
      .css( "text-decoration", "underline" )
        .next('#myinput')
          .val('hello');

此外,正如satpal在评论中所说,你不应该为多个元素提供相同的ID。

DEMO

答案 1 :(得分:1)

ID必须是唯一的

您可以使用.next(),假设您要将文本设置为在div之后输入

$( "div:contains('John')" ).next().val('thisistheclass');

DEMO