次のjQueryを少し実行しようとしています。
var c = 1;
$("#bench-box .pid-switch").each(function(){
$(this).attr('name', 'pidsarray['+c+']');
c = c + 1;
});
それをfirebugコンソールに貼り付けてそのように実行すると、完全に機能します。これは、セレクターが私が見つけたいものを見つけていること、そしてそれが私が望むように実行していることを私に教えてくれます。
ただし、コンソールからではなく、コード内の関数として呼び出すと、機能しません。エラーは発生せず、単に実行されません。私が次々に呼び出す関数のリストでそれに続く残りのコードは、引き続き正常に機能します。
なぜそれがコンソールを介して機能するのか、そうでないのか理解できません。これが私のコードでそれを呼び出す方法です:
$("#button").click(function() {
adjustPids();
});
function adjustPids() {
var c = 1;
$("#bench-box .pid-switch").each(function(){
$(this).attr('name', 'pidsarray['+c+']');
c = c + 1;
});
}
何かご意見は?
編集:
上記のjQueryコードは、通常どおり$(document).ready(function()でラップされています。元の質問でそれについて言及しなかったのは残念です。