繁体   English   中英

如何从元素的href属性动态更改javascript调用的参数

[英]How to dynamically change a parameter of a javascript call from the href attribute of an element

有没有办法动态更改从html元素传递给javascript函数的参数? 例如,说我有以下内容:

<a id="myElement" href="javascript:myFunction('myParam');">Click me!</a>

如何将'myParam'更改为另一个参数,比如'myParam2'? 使用javascript或jquery的答案对我来说很好。 为简单起见,请随意假设我可以通过document.getElementById('myElement')或其他方法找到此元素。

我要做的是绑定一个单击处理程序并使用this来确定单击了哪个。

$('#myElement').click(function () {
    console.log($(this).text()); // Should dump "Click me!" to the console.
});

然后,您可以向链接添加属性,例如data-someParam="my value" ,并使用.attr()访问它们。

要完成你想要的,你可以做这样的事情

var ChangeParam = function(el,newParam) {
    //make sure things aren't broken:
    if(typeof el !== 'undefined' && el.href && typeof newParam !== 'undefined') {
        var parta = el.href.split('(')[0] + '('; //get the stuff before the param
        var partb = ')' + el.href.split(')')[1]; //get the stuff after the param
        el.href = parta + '"' + newParam + '"' + partb; //put it all together
    } else { return false; }
}

ChangeParam(document.getElementById('myElement'),'meow');

示例: http//jsfiddle.net/q7R9B/2/


编辑:我做了一个漂亮的功能,万岁!

也应该能够使用它:

document.getElementById('myElement').href = "javascript:myFunction('myParam2');"

干杯,LC

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM