无法获取按钮的ID

时间:2018-06-25 16:40:16

标签: javascript jquery html

我试图获取按钮的ID,但似乎无法获取,而是获取div的ID,这不是我想要的。

这是我目前正在做的事情:

HTML

  <div class="container container-about container-login">
    <div id="white-container" class="white-container about-text2 bottom-padding-fortypx">

      <p id="availableTitle" class="text-center avail-title">Available</p>
      <p id="acceptedTitle" class="text-center accept-title">Accepted</p>

      <div id="availableJ" class="contractor-dash-div available-j"></div>
      <div id="acceptedJ" class="contractor-dash-div accepted-j"></div>

      <div class="clear"></div>

    </div>
  </div>

Javascript:

    i++;
    $('<div>', {
      id: 'available' + i,
      class: "avail-accept-jobs-div margin-bottom-twentypx"
    }).appendTo('#availableJ');
    $('#available' + i).append('<div class="delete-job initial-hidden"><p class="text-center font-weight-bold"><b>X</b></p></div>');

    // Populating the available list
    $('#available' + i).append('<p class="customer-name partial-name">Name: ' + partialName + '</p>');
    $('#available' + i).append('<p class="customer-name full-name initial-hidden">Name: ' + name + '</p>');
    $('#available' + i).append('<p>Date: ' + date + '</p>');
    $('#available' + i).append('<p>Time: ' + time + '</p>');
    // Get this buttons ID
    var but = $('#available' + i).append('<div class="accept-job-button text-center"><p>Accept</p></div>');
    but.id = keys;

    // I understand this is getting the id of the div but the button is essentially a div
    $("div").click(function() {
      alert(this.id);
    });

我的问题:

如何获取实际上是div的按钮的实际ID?

enter image description here

2 个答案:

答案 0 :(得分:0)

这应该是触发事件的元素。

您还可以直接响应按钮的click事件,而不必等待它弹出至div。

如果需要按钮ID,可以将其作为属性添加到触发事件的div中。

如果将匹配的“ btnID”数据属性添加到div及其按钮,则当用户单击div或其按钮时,可以取回所需的内容(在同一属性中)。

顺便说一句,密钥的值是否在某个地方更新?如果不是,则似乎您将允许“共享” ID值。

答案 1 :(得分:0)

我误解了原始问题。如果要选择子元素,则如下。

$("div > .accept-job-button").click(function() {
  alert(this.id);
});