2011-12-22 100 views
0

我试过一段时间,现在弄清楚为什么我永远不能从jquery“工作最接近”的功能。jquery最接近不工作

说我有这个代码;

<form> 
<input type='text' name='q'> 
<a href='javascript:void(0);' id='search_items'>Search</a> 
</form> 

为什么总是提示“undefined”?

$("#search_items").bind('click', function() { 
    var q = $(this).closest("input[name=q]").val(); 
    alert(q); 
}); 

在此先感谢! 欢呼声, 本

回答

6

您的input元素是兄弟姐妹,而不是#search_items的祖先。你想siblings()(或prev(),取决于所需的灵活性)。

$("#search_items").bind('click', function() { 
    var q = $(this).siblings("input[name='q']").val(); 
    alert(q); 
}); 
+2

确认为工作:http://jsfiddle.net/Sa2av/2/ – Blender 2011-12-22 05:08:08

+0

请记住,需要引号的属性等于选择。所以它应该是'[name ='q']'。 – Purag 2011-12-22 05:09:19

+0

@Purmou:只适用于带空格的字符串,AFAICT。 – Blender 2011-12-22 05:10:35