如何获取clicked div jquery的id

我一直在尝试获取相同类但具有不同ID的单击divid 。 我尝试了我所知道的一切。

这是我尝试过的一个代码(在这一个中, .click function()不起作用 ..编辑:这意味着它在点击时似乎没有运行代码!): –

 $(".u_search").click(function() { var attr_u_search = $(this).attr('id'); var dataString = '&u_search=' + $(".u_search").attr('id'); alert(dataString); $.ajax({ type: "POST", url: '/script/profile.php', data: dataString, cache: false, success: function(data) { $('#ui_profile').show(); $('#ui_profile').html(data); location.hash = 'profile' + 'id=' + dataString; $(".searchbox").val(''); $("#usr_suggest").hide(); } }); }); 

PHP: –

 echo "" . $fname_ . " " . $lname_ . ""; }} 

这是我尝试的另一个代码组合( 错误在这一个 :假设我有5个divs ,即使我点击了第二个div或第三个div,它只捕获第一个div [ div 1]的id而不是被点击的id div 。我希望能够捕获被点击的div的id 。): –

 $(".u_search").click(function() { var attr_u_search = $(".u_search").attr('id'); var dataString = '&u_search=' + $(".u_search").attr('id'); alert(dataString); $.ajax({ type: "POST", url: '/script/profile.php', data: dataString, cache: false, success: function(data) { $('#ui_profile').show(); $('#ui_profile').html(data); location.hash = 'profile' + 'id=' + dataString; $(".searchbox").val(''); $("#usr_suggest").hide(); } }); }); 

PHP: –

 echo "" . $fname_ . " " . $lname_ . ""; }} 

编辑:当我使用第一个代码(带.click function() )的代码时)代码似乎根本不运行! ..我正在使用jquery库版本1.9.1

在你的function内部改变

 $('.u_search').attr('id') 

 $(this).attr('id') 

引号很重要,但这不在引号内;)

当你这样做

 $(".u_search").click(function() {... 

你的回调函数现在有一个名为this的对象。 您可以使用它来获取您单击的实际对象。 因此,在这种情况下,如果要获取所单击对象的ID,只需执行以下操作:

 var the_id = $(this).attr("id"); 

在函数内部,您可以使用$(this)引用活动的jquery对象

 $(".u_search").click(function() { ... //get ID of button being clicked upon //Jquery Solution $(this).attr('id'); //Or Javascript this.id; ... } 
  $("div").on("click",function(){ var id = this.id; //returns id }); 
 var attr_u_search = $(this).attr('id'); var dataString = '&u_search=' + $(".u_search").attr('id'); 

您再次选择每个u_search div来构建数据字符串,而不是使用已经获取的id:

 var attr_u_search = $(this).attr('id'); var dataString = '&u_search=' + attr_u_search; 

我认为是: $(this).attr('id')你需要使用$(this)来获得点击的对象..

 var attr_u_search = $(this).attr('id'); var dataString = '&u_search=' + attr_u_search; // it's better ! 

试试这个 :

 $('body').on('click', '.u_search', function() { var attr_u_search = $(this).attr('id'); var dataString = '&u_search=' + attr_u_search; alert(dataString); // REST OF CODE }); 

(经过测试和工作,如果它仍然不起作用,问题可能在其他地方)

 $('body').delegate('.u_search', 'click', function() { var attr_u_search = $(this).attr('id'); var dataString = '&u_search=' + attr_u_search; alert(dataString); });