使用JS / jQuery更改脚本标签中的参数值

时间:2019-03-04 10:11:57

标签: javascript jquery html

所以我试图使用JS或jQuery更改参数的值。我有一个看起来像这样的网址:

www.exampleurl.com/somepage?foo=test

我已经有了用于获取foo之后的值的代码,

function getParameterByName(name, url) {
    if (!url) url = window.location.href;
    name = name.replace(/[\[\]]/g, '\\$&');
    var regex = new RegExp('[?&]' + name + '(=([^&#]*)|&|#|$)'),
        results = regex.exec(url);
    if (!results) return null;
    if (!results[2]) return '';
    return decodeURIComponent(results[2].replace(/\+/g, ' '));
}

var foo = getParameterByName('foo');

我现在有一个页面,其中的HTML代码如下:

<div class="bonus-button">
    <script language="javascript" type="text/javascript" src="https://t.tellja.eu/widget/button/PSIGn2?skin=194&t_mc=kwk&btn=rec_somecompany"></script>
</div>

我想要做的是将t_mc=kwk替换为t_mc=value.of.foo。在此示例中,这表示

<div class="bonus-button">
    <script language="javascript" type="text/javascript" src="https://t.tellja.eu/widget/button/PSIGn2?skin=194&t_mc=test&btn=rec_somecompany"></script>
</div>

到目前为止,我还没有找到我可以真正使用或有效的东西。你们对我可以使用的建议有什么建议吗?替换无效。

1 个答案:

答案 0 :(得分:1)

使用document.querySelector获取脚本标签,并使用getAttribute从脚本获取src。在使用splitjoin获得的字符串中,替换该值并使用setAttribute

再次设置src。

var a = document.querySelector('.bonus-button > script').getAttribute('src')
document.querySelector('div > script').setAttribute('src', a.split('t_mc=kwk').join('t_mc=value.of.foo'))
<div class="bonus-button">
  <script language="javascript" type="text/javascript" src="https://t.tellja.eu/widget/button/PSIGn2?skin=194&t_mc=kwk&btn=rec_somecompany"></script>
</div>