jQuery选择兄弟姐妹



我在选择这个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"); 
    }

试试下面的

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

这个解决方案更健壮,因为它将保证它获得一个input元素,而不是简单地获得任何类型的下一个元素。

您可以使用siblings()方法,它可以给定一个过滤器:

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

这将工作,即使其他元素出现在span和输入之间(而next()不会)。

jsFiddle演示

JQuery的next()函数会做这个。

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

你可以使用next

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

最新更新