javascript - jquery 访问数据属性

标签 javascript jquery html css

我正在使用引导模式来销毁任务对象。当我在索引页面上单击给定任务时,模式窗口会弹出,并且该任务的销毁链接会通过数据属性加载,因此当用户单击 #delete-task- 时,模态将知道应该销毁哪个任务提交按钮。

代码按原样运行,但我想使用 data-behavior="delete-task-submit" 而不是 #delete-task-submit需要明确的是,这与样式无关,它仅用于 js 调用。

正确的做法是什么?我问这个是因为 #delete-task-submit 在第一个 js 调用中用于查找/设置 data-task-destroy-link 并且不知道如何否则我可以在不添加 id/extra 类的情况下找到该数据属性。

<div class="modal fade" id="delete-task-modal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
  <div class="modal-dialog" role="document">
    <div class="modal-content" style="text-align:left">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
        <h4 class="modal-title" id="myModalLabel">Delete Task</h4>
      </div>
      <div class="modal-body">
        <h4>Are you sure?</h4>
        <p> </p>  
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-default" data-dismiss="modal" id="deletetaskclose">Close</button>
        <a href="#" id="delete-task-submit" type="button" class="btn btn-danger" data-task-destroy-link >Delete Task</a>
          <!-- DESTROY LINK GETS INSERTED HERE -->      
      </div>
    </div>
  </div>
</div>

$(document).on('click', '[data-behavior="open-delete-task-modal"]', function (event) {
  var taskDeleteLink = $(this).data("task-delete-link");
  $('#delete-task-submit').data("task-destroy-link", taskDeleteLink);
});

$(document).on('click', '#delete-task-submit', function (event) {
  var href = $(this).data("task-destroy-link");
  $.ajax({
    type: "DELETE",
    url: href,
    dataType: "script"
  });
});

最佳答案

I'm asking this because #delete-task-submit is used in the first js call for finding/setting data-task-destroy-link and don't know how else I can find that data attribute without adding id/extra class there.

$('#delete-task-submit') 替换为 $('[data-behavior="delete-task-submit"]') 选择器那部分代码并将 data-behavior="delete-task-submit" 属性添加到您的链接。

<a href="#" id="" data-behavior="delete-task-submit" class="...">Delete Task</a>

关于javascript - jquery 访问数据属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37061553/

相关文章:

javascript - 根据$(document).width()加载Google广告代码

Jquery将所有李的ID插入数组

javascript - 将数据存储在没有任何内容的 HTML 标记中是否是最佳实践?

javascript - 为每个用户单击后禁用按钮

javascript - 从以不同方式编写的 URL 获取 id 的最佳方法是什么?

javascript - 计算类中的特定字符(并将文本 chop 逻辑应用于该类的每个实例)

javascript - 将秒输出更改为分钟和小时

javascript - 谷歌地理编码 - 关闭/循环问题

javascript - MVC中如何设置元素的属性

javascript - 在 Eclipse 中编辑文本/html 内容