わかりました、私は検索に最善を尽くしました、しかし。Ajaxなどを使用していくつかのjsをロードする必要があるタスクがあります。簡単に言えば、私は立ち往生しています。
まず、script.jsのコード(ロードする必要があり、変更できない):
var divs = [
'<div class="item">Lorem ipsum 0</div>',
'<div class="item">Lorem ipsum 1</div>',
'<div class="item">Lorem ipsum 2</div>',
'<div class="item">Lorem ipsum 3</div>',
'<div class="item">Lorem ipsum 4</div>',
'<div class="item">Lorem ipsum 5</div>',
'<div class="item">Lorem ipsum 6</div>',
'<div class="item">Lorem ipsum 7</div>'
];
delete(divs[3]);
次に、それをロードするためのスクリプト
$.getScript('script.js', function() {
$('.a').append('<div class="yep">' + divs.join('') + '</div>');
$('.item').each(function() {
$(this).click(function() {
console.log( $('.item').index(this) );
});
});
});
問題は、クリックすると配列内のアイテムのインデックスを取得する必要があることです。つまり、「Lorem ipsum 4」をクリックすると、コンソールは現在のように「3」ではなく「4」を出力するはずです(削除された要素がないため) domに表示されます)。jQueryを使用して正しい結果を得る方法はありますか?
わかりました、それは仕事だと言う必要があります。そして、これが重要です。script.jsを変更することはできません。サーバー上にあり、取得するまでアクセスできないとします。しかし、元の配列にある要素のインデックスが必要です。