Javascript 使用数据属性中的值作为url参数

Javascript 使用数据属性中的值作为url参数,javascript,jquery,url-parameters,Javascript,Jquery,Url Parameters,作为基础,我使用: 单击时,我希望获取单击元素的数据属性值,并将其用作url参数。我不想破坏实际行为,我只想扩展它。我现在试了几个小时,但没有结果 HTML 因此,我必须检查单击的div是否包含属性“dataurl”,如果是,则应将其用作“customvalue”的参数 因此,Url应该如下所示: Click on ".buton.one": xyz.com/?specificurl=customvalue Click on ".buton.two": xyz.com/?specificurl=

作为基础,我使用:

单击时,我希望获取单击元素的数据属性值,并将其用作url参数。我不想破坏实际行为,我只想扩展它。我现在试了几个小时,但没有结果

HTML

因此,我必须检查单击的div是否包含属性“dataurl”,如果是,则应将其用作“customvalue”的参数

因此,Url应该如下所示:

Click on ".buton.one": xyz.com/?specificurl=customvalue
Click on ".buton.two": xyz.com/?specificurl=this-should-be-the-parameter

您可以通过
$(element.attr()
Jquery
中获取/设置属性值。找到值并在需要的地方使用

console.log($(“#input”).attr('data-attr')

您可以通过
$(element.attr()
Jquery
中获取/设置属性值。找到值并在需要的地方使用

console.log($(“#input”).attr('data-attr')

在现代浏览器中,您现在可以使用一种更简单的内置浏览器

在按钮单击处理程序中,使用
data()
检查数据属性是否已设置并具有值。如果是。。。使用
URL.searchParams.set(键、值)

$('.button')。单击(函数(){
var url=新url(location.href),
dataUrl=$(this.data('url');
如果(数据URL){
url.searchParams.set('someVar',dataUrl);
}
console.log(url.href)
})

点击我

单击我
在现代浏览器中,您现在可以使用一种更简单的内置浏览器

在按钮单击处理程序中,使用
data()
检查数据属性是否已设置并具有值。如果是。。。使用
URL.searchParams.set(键、值)

$('.button')。单击(函数(){
var url=新url(location.href),
dataUrl=$(this.data('url');
如果(数据URL){
url.searchParams.set('someVar',dataUrl);
}
console.log(url.href)
})

点击我
单击我
  function updateURLParameter(url, param, paramVal){
      var newAdditionalURL = "";
      var tempArray = url.split("?");
      var baseURL = tempArray[0];
      var additionalURL = tempArray[1];
      var temp = "";
      if (additionalURL) {
          tempArray = additionalURL.split("&");
          for (var i=0; i<tempArray.length; i++){
              if(tempArray[i].split('=')[0] != param){
                  newAdditionalURL += temp + tempArray[i];
                  temp = "&";
              }
          }
      }

      var rows_txt = temp + "" + param + "=" + paramVal;
      return baseURL + "?" + newAdditionalURL + rows_txt;
  }

    var newURL = updateURLParameter(window.location.href, 'locId', 'newLoc');
    newURL = updateURLParameter(newURL, 'resId', 'newResId');
$( ".button" ).click(function() {
  window.history.replaceState('', '', updateURLParameter(window.location.href, "specificurl", "customvalue"));
});
Click on ".buton.one": xyz.com/?specificurl=customvalue
Click on ".buton.two": xyz.com/?specificurl=this-should-be-the-parameter