jQuery选择兄弟

时间:2011-11-09 17:17:18

标签: jquery asp.net-mvc-3 telerik-mvc

我无法从此html中选择输入值:

<li class="t-item">
  <div class="t-mid">
    <span class="t-in t-state-selected">102/NAH</span>
    <input class="t-input" name="itemValue" value="subject:4033" type="hidden">
  </div>
</li>

我可以使用以下内容获取<span>元素的值:

var text = $("#TreeView .t-state-selected").text();

如何获取兄弟<input>元素的值?

这是完整的函数,如果它有助于提供一些上下文(事件是Telerik TreeView OnLoad事件):

    function OnLoad(e) {
        // _lastSubject is known, find the selected node and get the detail
        var treeView = $('#TreeView').data('tTreeView');
        var text = $("#TreeView .t-state-selected").text();
        console.log("ugh, what I really want is the sibling input value"); 
    }

4 个答案:

答案 0 :(得分:3)

尝试以下

var i $('#TreeView .t-state-selected').next('input');

这个解决方案更加健壮,因为它可以保证它获得一个input元素,而不仅仅是任何类型的下一个元素。

答案 1 :(得分:1)

您可以使用siblings()方法,该方法可以提供过滤器:

var $input = $("#TreeView .t-state-selected").siblings('.t-input');

即使其他元素稍后出现在跨度和输入之间(next()也不会),这也会有效。

jsFiddle Demo

答案 2 :(得分:0)

您可以使用next

var $input = $("#TreeView .t-state-selected").next();
var inputVal = $input.val();

答案 3 :(得分:0)

JQuery函数next()将执行此操作。

var i = $("#TreeView .t-state-selected").next();