我一直在尝试获取点击的{{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
答案 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);
});