如何获取已单击的Div的名称?

时间:2015-05-18 17:53:43

标签: javascript jquery css

我使用以下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的名字?

由于

3 个答案:

答案 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