2011-12-22 12 views
0

jqueryの機能を "近似"することができないのはなぜか分かりません。Jqueryに最も近い機能がありません

私はこのコードを持っています。

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

なぜ次は常に「未定義」と警告しますか?

$("#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

+0

引用符は属性で必要とされていることに留意してくださいは、セレクタに等しいです。したがって、それは '[name = 'q']'でなければなりません。 – Purag

+0

@Purmou:スペースを含む文字列の場合のみ、AFAICT。 – Blender

関連する問題