Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 有没有办法将当前页面的路径名插入到div类参数值中?_Javascript_Html - Fatal编程技术网

Javascript 有没有办法将当前页面的路径名插入到div类参数值中?

Javascript 有没有办法将当前页面的路径名插入到div类参数值中?,javascript,html,Javascript,Html,我想将当前访问的网页的名称插入div参数值中的特定位置 例如,在下面的代码中,我想在您看到的current\u page\u pathname处插入页面名(路径名) <div data-url="https://somedomain.com?source=current_page_pathname"></div> 这可能吗 我走错方向了吗?我对任何有效的解决方案都持开放态度。您可以使用javascript/jQuery动态地完成它 $('urlholderlink')

我想将当前访问的网页的名称插入
div
参数值中的特定位置

例如,在下面的代码中,我想在您看到的
current\u page\u pathname
处插入页面名(路径名)

<div data-url="https://somedomain.com?source=current_page_pathname"></div>
这可能吗


我走错方向了吗?我对任何有效的解决方案都持开放态度。

您可以使用javascript/jQuery动态地完成它

$('urlholderlink').attr('href','https://somedomain.com?source='+window.location.pathname);
$('#urlholder').attr('data-url','https://somedomain.com?source='+window.location.pathname)

我的链接

我的div
使用嵌入页面的url:

https://stacksnippets.net/js
下面的演示演示了如何使用JavaScript执行此操作:

(函数(){
设w=窗口;
设d=文件;
让目标_url=”https://www.example.com?source";
让curr\u page\u path=w.location.pathname;
//访问元素的快捷方式
让$=id=>d.getElementById(id);
设atag=$(“urlholderlink”);
设div=$(“urlholder”);
w、 onload=函数(){
atag.href=(div.dataset.url)=
目标地址+当前页面路径);
let message=“DIV属性数据url:”+DIV.dataset.url;
消息+='\n

My div
您可以使用纯JavaScript实现这一点

  • 查询所有具有
    数据url
    属性的div,该属性包含placholder
    当前页面路径名
    。对于此用途
    文档。查询选择器all(“[data url*=”当前页面路径名“]”)
  • 使用
    forEach
    迭代每个节点。使用
    getAttribute('data-url')
    setAttribute('data-url',newValue)
    更新属性,并使用
    String.prototype.replace()
    将占位符替换为当前url
  • const占位符='current_page_pathname';
    document.querySelectorAll(`[dataurl*=“${placeholder}”]`).forEach(node=>{
    const path=window.location.pathname;
    const dataUrl=node.getAttribute('data-url').replace(占位符,路径);
    node.setAttribute('data-url',dataUrl)
    });
    功能表演(e){
    log(e.getAttribute('data-url');
    }
    div[数据url]{
    光标:指针;
    边框:1px纯黑;
    填充物:5px;
    保证金:5px;
    }
    
    单击我查看我的数据url属性
    单击我查看我的数据url属性
    
    是的,你可以这样做,我可以回答。但是,让我问一下:为什么?你试图通过这种方式将内容存储回html来完成什么?感谢你询问@MichaelMcQuade!我使用
    当前页面路径名作为标识符。当用户单击网页上的按钮时,我想记录该事件并确定它发生在当前访问的页面上。这是我正在使用的集成所需的格式。这有帮助吗?再次感谢!@jhaaaa这听起来确实有点奇怪。与其用
    gt
    方法污染
    文档,不如创建一些作用域可重用的帮助函数注意jQuery有一个
    .data()
    方法,您可以使用该方法代替
    .attr()
    ..
    元素.data('url','https://somedomain.com/etc.../“);
    将创建一个
    数据url
    属性。非常感谢@sinsedrix!这非常有效。我完全是个新手,所以我很欣赏你直截了当的方法。
    https://stacksnippets.net/js