添加data-attribute及其值以与纯javascript链接

时间:2016-05-02 18:02:43

标签: javascript jquery

我有一个javascript代码段:

function(){
   location.href = '<%= my_route %>';
}

将其转换为html

<a href="myroute">a certain text i have no problem here</a>

我想在链接中添加javascript data-no-turbolink = true,以便我有html

<a href="myroute"  data-no-turbolink = true >a certain text i have no problem here</a>

我试过

function(){
   location.href = '<%= my_route %>' location.data-no-turbolink = true;
}

但它不起作用。

怎么做?

2 个答案:

答案 0 :(得分:3)

location.setAttribute('data-no-turbolink', true) 

应该做的伎俩。 Dom API setAttribute

答案 1 :(得分:1)

如果您确实需要通过Javascript执行此操作并假设页面上存在锚元素:

<%= link_to "Example Link", example_path, { class: "example-link" } %>
document.addEventListener("DOMContentLoaded", function() {
  var exampleLinks = document.getElementsByClassName("example-link");

  Array.prototype.forEach.call(exampleLinks, function(elem, index) {
      elem.setAttribute("data-no-turbolink", "true");
  });
});

虽然您可以在rails模板中轻松完成此操作:

<%= link_to "Example Link", example_path, { data: { "data-no-turbolink": true } } %>