我有简单的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而不是prev,效果是一样的。 jQuery的版本是1.6.4