Javascript 将数据属性插入url

Javascript 将数据属性插入url,javascript,jquery,Javascript,Jquery,如何通过单击将div中的数据url属性动态插入加载函数 $(“.link”)。单击(函数(){ $(“#数据”)。加载(“https://website.com/data/some-keywords-needed .content“,函数(){ }); }); 同样重要的是,关键字在url中通过“-”连接 解决方案 $(".link").click(function() { var myUrl = "https://website.com/data/" + $(this).attr('

如何通过单击将div中的
数据url
属性动态插入加载函数

$(“.link”)。单击(函数(){
$(“#数据”)。加载(“https://website.com/data/some-keywords-needed .content“,函数(){
});
});

同样重要的是,关键字在
url
中通过
“-”
连接

解决方案

$(".link").click(function() {
  var myUrl = "https://website.com/data/" + $(this).attr('data-url').replace(/\W/g, '-')
  $("#data").load(myUrl + " .content", function() {
  console.log(myUrl);
  });
});

谢谢大家的帮助

您可以使用
event.target
<代码>事件传递给处理程序函数。使用
event.target
获取所单击元素的句柄

$( ".link" ).click(function(event) {
        const dataUrl = event.target.getAttribute("data-url");

        $( "#data" ).load( `https://website.com/data/${dataUrl}.content`, function() {
   });
});

在var中,dataUrl是数据url属性中的文本,并将空格(
)转换为
-

    $( ".link" ).click(function() {
        var url = "https://website.com/data/" + $(this).data('url').replace(" ", "-");
        // your code
    });

您可以使用jquery的
attr
函数获取属性值,然后使用
replace
函数替换所有空白:

$(“.link”)。单击(函数(){
var myUrl=”https://website.com/data/“+$(this.attr('data-url')。替换(/\W/g,'-'))
console.log(myUrl)
});


链接
Hmm,看起来变量不能与“加载”一起工作;(或者我做错了什么…“你的代码”部分在你看来是什么样子?
$(“#数据”).load(url+”.content),function(){alert('data is loaded')});
这里也一样…看起来变量与“load”不兼容?;(或者我做错了什么…部分如何“.load”看起来像你的方式吗?变量确实与
load
一起工作。但是你必须确保
load
一个允许下载的有效的现有html文件(注意)。使用类似
$(“#数据”).load(myUrl,函数(响应,状态,xhr){console.log(状态)};
以确定下载是否成功。好的,很高兴知道。如果插入静态url,加载函数工作正常。因此,我认为我以错误的方式插入变量?这是我的尝试:“$(“#数据”).load(myUrl+”.content),function(){…您可以检查
myUrl=“您的静态url“
适用于您。如果是,请确保您的连接是正确的。为了更好地处理和显示实际问题,我已在顶部更新了我的问题/版本。嗯,您有小提琴吗?我想这部分”
https://website.com/data/${dataUrl}.content
“对我不起作用…谢谢!奇怪,我得到了“null”在控制台的我的变量中,尽管我使用的代码与您完全相同。只是为了确保…它的返回勾选``in
。load
function是的,到目前为止,所有内容都编写正确-我真的不明白我的失败之处,但我会在接下来的几天中查看它。另一个解决方案现在对我有效,但big thx需要您的帮助!