我在选择这个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>
元素的值?
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();