如何捕获被点击的div的id - jquery

时间:2013-04-19 12:42:25

标签: php jquery

由于previous one如此长,我发布了这个问题(如果我在其中切割部分,可能会产生混淆)。我在这篇文章中提出的问题更简单:)。

jQuery代码: -

function op_prof(id) {
    var attr_u_search = $(".u_search").attr('id');
    var dataString = 'u_search=' + attr_u_search;
    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 "<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>";
}}

我无法检索每个ID的{​​{1}}(每个人都有一个唯一的div)。似乎jQuery捕获顶部ID的{​​{1}}(第一个ID),而不是捕获所有div的{​​{1}}。

屏幕截图: -
http://prntscr.com/118dhv
http://prntscr.com/118dus

P.S:我100%确定jQuery中有错误: - &gt; prntscr.com/118eb5

4 个答案:

答案 0 :(得分:2)

尝试修改on-click

tr属性

由此:

onclick='javascript:op_prof(1)

对此:

onclick='javascript:op_prof(this)'

这是js:

function op_prof(obj) {
    var attr_u_search = obj.id;
    ....

答案 1 :(得分:1)

由于你已经在使用jQuery,这里有一个完整的jQuery解决方案:

$("tr.u_search").on("click", function() {
    var attr_u_search = $(this).attr('id');
    var dataString = 'u_search=' + attr_u_search;
    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();
        }
    });
};

答案 2 :(得分:0)

'ob_prof'的第一个参数总是= 1?

javascript:op_prof(1)

答案 3 :(得分:0)

attr()方法设置或返回所选元素的属性和值。

当使用此方法返回属性值时,它返回FIRST匹配元素的值。

使用$ .each()

api.jquery.com/jQuery.each /