以下是我的标记示例:
<li class="websites" id="3">
<span class="id">3</span>
<span><a href="http://www.google.com"><span class="url">www.google.com</span></a></span>
<span class="action"><span class="edit">edit</span> | <span class="delete">delete</span></span>
</li>
这是我的jQuery,我试图通过ajax将此网站的id(3
)传递给另一个脚本。
$('.delete').click(function(){
var id = $(this).find('span.id').html();
$.ajax(
{
type: "POST",
url: "edit.php",
data: ({"id":id}),
cache: false,
success: function(message)
{
$('#'+message).fadeOut('slow');
} // end AJAX return
}); // end AJAX call
});
当我检查我的POST标题时,我可以看到id
的值为空,所以很明显我尝试设置它是错误的。
正如您所看到的,我在实际的li
元素中加了另一个带有类id
的范围,并且具有相同的值。
使用哪一个功能无关紧要。
感谢。
答案 0 :(得分:4)
var id = $(this).closest('li.websites').attr('id');
最近找到与选择器匹配的$(this)
祖先,在您的情况下,li
与班级websites
答案 1 :(得分:2)
您可以尝试此选择器
var id = $(this).closest('li').attr('id');
答案 2 :(得分:2)
经测试,它有效。
<script type="text/javascript">
$(document).ready(function(){
$('.delete').click(function(){
var id = $(this).parents('li.websites').children('span.id').html();
});
});
</script>
答案 3 :(得分:1)
尝试
var id = $(this).parent().parent().get(0).id;