1

同じクラスdivのクリックされたIDを取得しようとしましたが、IDが異なります。知っていることはすべて試しました。 これが私が試したコードの1つです(このコードでは、動作しません..編集:クリックしてもコードが実行されないようです):-

.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 "<tr id='" . $id . "' class='u_search' height='40px'><td width='40px'><img class='avatar' src='$avater' /></td><td>" . $fname_ . " " . $lname_ . "</td></tr>";
}}


これが私が試したコードの別の組み合わせです(このエラー: 5 があると仮定divsし、2番目のdivまたは3番目のdivをクリックしても、最初のdiv[ div1]のIDのみをキャプチャし、クリックされdivた.クリックされたのIDをキャプチャdivできるようにします。):-

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

編集: 最初のコード ( のコード.click function()) を使用すると、コードがまったく実行されないようです! .. jquery ライブラリ バージョン 1.9.1 を使用しています

4

8 に答える 8

0
  $("div").on("click",function(){
     var id = this.id; //returns id
   });
于 2013-04-19T11:35:55.400 に答える
0
var attr_u_search = $(this).attr('id');
var dataString = '&u_search=' + $(".u_search").attr('id');

既にフェッチされた ID を使用する代わりに、すべての u_search div を再度選択してデータ文字列を作成しています。

var attr_u_search = $(this).attr('id');
var dataString = '&u_search=' + attr_u_search;
于 2013-04-19T11:36:13.997 に答える
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
});

(テスト済みで動作していますが、それでも動作しない場合は、問題が別の場所にある可能性があります)

于 2013-04-19T11:41:25.183 に答える