我使用以下html
<div id="chatid" name="1">
<img src="http://placehold.it/50/55C1E7/fff" alt="User Avatar" class="img-circle" /> John
</div>
<div id="chatid" name="2">
<img src="http://placehold.it/50/55C1E7/fff" alt="User Avatar" class="img-circle" /> James
</div>
我正在使用以下jquery脚本
$(document).ready(function() {
$("#chatid").click(function() {
thread = $(this).attr('name');
$("#chatmessages").load('fetchmessages.php?id=' + thread);
//alert($(this).attr('name'));
return false;
});
});
这只在点击第一个“chatid”Div时给出了名称,有没有办法让我返回任何“chatid”Div的名字?
由于
答案 0 :(得分:8)
$('div').click(function(){
alert($(this).attr('name'));
});
此外,不要对多个元素使用相同的ID,因为这是不好的做法。改为使用类。
请参阅Why is it a bad thing to have multiple HTML elements with the same id attribute?
答案 1 :(得分:3)
你的html无效。只有一个元素具有给定的id。
改用class:
<div class="chatid" name="1">
然后你的选择器将是:
$(".chatid").click( //do something );
答案 2 :(得分:1)
id
是唯一不会反复使用的
<div class="chatid" name="1">
<img src="http://placehold.it/50/55C1E7/fff" alt="User Avatar" class="img-circle" /> John
</div>
<div class="chatid" name="2">
<img src="http://placehold.it/50/55C1E7/fff" alt="User Avatar" class="img-circle" /> James
</div>
JavaScript
$(document).ready(function() {
$(".chatid").click(function() {
var thread = $(this).attr('name');
//$("#chatmessages").load('fetchmessages.php?id=' + thread);
alert($(this).attr('name'));
return false;
});
});
工作示例为Here