我正在尝试编写一些Jquery代码,它将获得下一个类“in”的文本框的值。我在这里的代码不起作用,值始终未定义。我认为我正在使用next()函数,但我不确定,是否有人有任何输入?
<!DOCTYPE html>
<html>
<body>
<input type="text" class="mm" />
<br>
<input type="text" class="in" />
$(document).ready(function() {
$("input").focus(function() {
var value = $(this).next(".in").val();
if (value) {
alert(value);
}
});
});
</script>
</body>
</html>
答案 0 :(得分:0)
您需要发布您的HTML。 Next获取下一个兄弟,所以它在很大程度上取决于html结构 - 它可能只需要你添加一个父进来到达所有文本框的父节点。
答案 1 :(得分:0)
$(this).next(".in")
只会返回一个值,如果下一个元素的类为“in”,而不是查看第一个带有“in”类的文本框的所有兄弟节点。
试试$(this).nextAll(".in:eq(0)")
。
答案 2 :(得分:0)
您提供HTML的示例实际上有效。你可以在这里看到它:http://jsfiddle.net/jfriend00/RGsDq/。根据你的评论,听起来你想要第一个拥有“in”类的兄弟,无论是否是下一个兄弟。 .next()只检查下一个兄弟。如果你想要第一个拥有“in”类的兄弟,即使它不是下一个兄弟,你可以做以下任何一个:
$(this).nextAll(".in").first().val(); // next sibling with class ".in"
$(this).parent().find(".in").first().val(); // next child of parent with class ".in"
您可以在此处看到这两个选项中的第一个:http://jsfiddle.net/jfriend00/4VwAN/