0

私のコードのどこかに次の行がありますが、これは変更できません。

<div class="list-clickable" onclick="javascript:update_left_frame('1', $(this));">
<div class="list-clickable" onclick="javascript:update_left_frame('2', $(this));">
<div class="list-clickable" onclick="javascript:update_left_frame('3', $(this));">
// etc...

数行のコードの後、左フレームを更新するために、同じ関数を呼び出す必要があります。これは、変数番号を最初のパラメーターとして渡すことにより、PHP を介して生成されます。

<script>
  // foo = ??
  update_left_frame('3', foo);
</script>

同じ番号 (この例では 3) のブロックの参照を取得する必要があります。対応するブロック参照を受け取るように「foo」変数を設定するにはどうすればよいですか? 私は取得について考えました:

$('.list-clickable').attr('onclick') 

しかし、私はそれを機能させることができません。

前もって感謝します!

4

4 に答える 4

1

これを試して:

$('.list-clickable').on('click', function(){
    update_left_frame(($(this).index() + 1), $(this));
});
于 2013-06-05T15:49:03.687 に答える
1

そのはず

$('.list-clickable').attr('onclick');

番号を指定できる場合は、次のようにします

update_left_frame('3', 
  $('div').filter(function() {
    return this.attr('onclick').match(/update_left_frame\(\'3\'/); //same number as first argument
  })
);
于 2013-06-05T15:39:17.623 に答える
0

各 div 要素に id を設定してみてください...

<div id="list-clickable1" class="list-clickable" onclick="javascript:update_left_frame('1', $(this));">
<div id="list-clickable2" class="list-clickable" onclick="javascript:update_left_frame('2', $(this));">
<div id="list-clickable3" class="list-clickable" onclick="javascript:update_left_frame('3', $(this));">
// etc...

次に、div への参照を取得するには、次の例のように$('.list-clickable3')を使用します。

<script>
  var ctrl = $('.list-clickable3');
  aggiorna_left_frame('3', ctrl);
</script>
于 2013-06-05T15:42:39.423 に答える
0

OK、うまくいく解決策を見つけました。PHPにこれを生成させます:

$(document).ready(function() {
    var foo;
    $('.list-clickable').each(function() {
        var attr = $(this).attr('onclick');
        if (attr.indexOf('frame(3') !== -1) {
            foo = $(this);
        }
    });
    update_left_frame('MY_CODE', foo);
});
于 2013-06-05T16:08:17.587 に答える