如何获取clicked div jquery的id

时间:2013-04-19 11:30:26

标签: php javascript jquery

我一直在尝试获取点击的{{1>} 相同类的ID,但不同的ID 。我尝试了所知的一切。

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

.click function()

PHP: -

$(".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();

    }
  });
});

<小时/> 这是我尝试的另一个代码组合(这个错误:假设我有5 echo "<tr id='" . $id . "' class='u_search' height='40px'><td width='40px'><img class='avatar' src='$avater' /></td><td>" . $fname_ . " " . $lname_ . "</td></tr>"; }} ,即使我点击了第二个div或第三个div,它也只捕获了id第一个divs [div 1]而不是点击的div。我希望能够捕获所点击的div 的ID。 ): -

div

PHP: -

$(".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();

    }
  });
});

编辑:当我使用第一个代码(echo "<tr id='" . $id . "' class='u_search' height='40px' onclick='javascript:op_prof(1)'><td width='40px'><img class='avatar' src='$avater' /></td><td>" . $fname_ . " " . $lname_ . "</td></tr>"; }} 的代码)时,代码似乎根本不运行! ..我正在使用jquery库版本1.9.1

8 个答案:

答案 0 :(得分:1)

你的功能改变

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

$(this).attr('id')

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

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

当你这样做时

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

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

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

答案 3 :(得分:0)

在函数内部,您可以使用$(this)

引用活动的jquery对象
$(".u_search").click(function() {
 ...
 //get ID of button being clicked upon
//Jquery Solution
 $(this).attr('id');

//Or Javascript
  this.id;
 ...
}

答案 4 :(得分:0)

  $("div").on("click",function(){
     var id = this.id; //returns id
   });

答案 5 :(得分:0)

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;

答案 6 :(得分:0)

试试这个:

$('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
});

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

答案 7 :(得分:0)

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