如果我有5个具有相同CLASS的按钮,我可以使用javascript onclick来获取ID吗?

时间:2014-02-06 03:43:01

标签: javascript jquery html

我有5个按钮设置了相同的类“deletebutton”

但每个deleton按钮都有一个独特的目的(删除不同的ID)

$(".deletebutton").click(function (e){
    document.getElementById("abc").href="delete.php?adID="; + ID of button clicked
});

我需要做的是根据点击按钮的ID修改另一个按钮的链接。

<a  id="Delete" href="remove.php?adID=" >Confirm</a>

我一直有这个问题,并认为它是因为我的“deletebutton”函数运行按钮的CLASS只知道类而不是点击的特定按钮的ID?想法?

2 个答案:

答案 0 :(得分:1)

您可以使用其中任何一项来获取ID this.ide.target.id$(this).attr("id")

$(".deletebutton").click(function (e){
    document.getElementById("abc").href="delete.php?"+ this.id;
});

答案 1 :(得分:0)

要访问特定元素的ID,您必须使用$(this).attr('id'),但是 建议的方法或最佳做法是使用HTML 5数据属性。您可以将它们存储为数据属性,而不是使用ID

<a class='action'  data-mode="NEW" data-id='7' href="new.php?adID=" >New</a>
<a class='action' data-mode="DELETE" data-id='7' href="remove.php?adID=" >Delete</a>
<a class='action' data-mode="UPDATE" data-id='7' href="update.php?adID=" >Update</a>

因此,您可以使用类或使用data属性本身访问它们。

$('.action').on('click',function(e){
  var mode = $(this).data('mode');
  //This will output NEW/DELETE/UPDATE based on what you clicked

  var id = $(this).data('id');
});

$('[data-mode]').on('click',function(e){
  var mode = $(this).data('mode');
  //This will output NEW/DELETE/UPDATE based on what you clicked

  var id = $(this).data('id');
});

数据属性提供了很大的灵活性,可以在DOM上存储其他信息,并提供更简单的方法来访问它们。

请查看http://bit.ly/1nVOFgj,了解有关如何使用数据属性及其帮助的更多信息。希望这会有所帮助。