私は、単純なHTMLコードを持っている:奇妙なjQueryの.prev()の挙動
<input type='hidden' name='cat_id' value='123'/>
<a href='#' class='edit'>Edit</a>
<a href='#' class='delete delete-link'>Delete</a>
とシンプルなJSコード:
$("a.delete-link").click(function() {
var id = $(this).prev($('input[name="cat_id"]')).val();
alert(id);
});
はシンプルかつ明白なすべてのもの、名前の前の入力の値を取得する「をCAT_ID 'しかし、空の文字列を返すだけです(値は実際に定義されています)。私はおそらくセレクターが間違っていると思った:
var id = $(this).prev($('input[name="cat_id"]')).length;
alert(id);
返品1.仕事。 私は単に」起こっと
var id = $(this).prev($('input[name="cat_id"]')).attr('name');
alert(id);
返してみました 『とは何の手掛かりを持っている』未定義をしませんでした。奇妙な。何か案は?以前のものよりもprevAllを試してみましたが、効果は同じです。 jQueryのバージョンは、代わりに、jQueryオブジェクトの()メソッドを.prevセレクタ式(文字列)を渡すべき1.6.4