2

HTML要素からjavascript関数に渡されるパラメータを動的に変更する方法はありますか? たとえば、次のものがあるとします。

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

「myParam」を「myParam2」などの別のパラメータに変更するにはどうすればよいですか? javascript または jquery を使用した回答で問題ありません。簡単にするために、document.getElementById('myElement') またはその他の手段でこの要素を見つけることができると思い込んでください。

4

3 に答える 3

7

代わりに、クリック ハンドラーをバインドし、thisどれがクリックされたかを把握するために使用します。

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

次に、 などの属性をリンクに追加し、 でdata-someParam="my value"それらにアクセスできます.attr()

于 2013-07-01T00:01:12.307 に答える
3

あなたが望むことを達成するために、あなたはこのようなことをすることができます

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/


編集:私はそれをきれいな関数にしました、万歳!

于 2013-07-01T00:06:40.687 に答える
1

これも使用できるはずです:

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

乾杯、LC

于 2013-07-01T00:09:59.757 に答える