我有以下DOM结构,基于h4的点击我需要获取相应类窗口小部件的id并向服务器发出post请求。我对jQuery有点陌生,因此很挣扎。有人可以帮忙吗?
<section id="home-sidebar" class="sidebar">
<div class="menu">
<div class="widget" id="4">
<div class="title">
<h4>First Text</h4>
<p>Do some stuff</p>
</div>
</div>
..................................
...............
<div class="widget" id = "56">
<div class="title">
<h4>N-th Text</h4>
<p>Do some stuff</p>
</div>
</div>
</div>
</section>
我怎么知道在jQuery中点击了哪个h4标签?我如何获得小部件的相应“id”号码? (注意ID不是连续的,它们也可以是随机的)
答案 0 :(得分:1)
您可以使用.parents()
查找具有您想要获取的ID的DOM节点:
//bind a click handler to all h4 elements
$('h4').bind('click', function () {
//find the id of the parent node that has the .widget class
//since you are trying to get the id, you do not need to use the jQuery .attr() function which performs slower than the below code
var id = $(this).parents('.widget')[0].id;
$.get('path/to/server.file?id=' + id, function (data) {
//this is the callback function for the server request
alert('Server Response: ' + data);
});
});
.parents()
的文档:http://api.jquery.com/parents/
答案 1 :(得分:0)
如果你这样做了:
$('h4').click(....)
你可以这样做:
$('h4').click(function(){
alert($(this).attr('id'))
})
答案 2 :(得分:0)
$(document).ready(function(){
$(".widget").click(function(){
var id = $(this).attr("id"); //gives id
});
});
答案 3 :(得分:0)
$("h4").click(function(){
var a=$(this).parent().parent().attr('id');
alert(a);
})