0

このjQueryに問題があるだけです。

私がやろうとしていることは次のとおりです。

次のようなオーディオ コントロール ボタンがいくつかあります。

<p><a href='#' onClick="player1.loadAudio(1); return false;">Play audio</a></p>

しかし、ページにあまりにも多くあるので、コードを最適化し、ボタンの div id をチェックしてプレーヤーにどのトラックを再生するかを追加する小さな関数を作成しようとしています。

だから私はこれをやった:

 <div id="audioControlButtons-1">
     <div class="speaker">&nbsp;</div>
     <div class="play">&nbsp;</div>
     <div class="pause">&nbsp;</div>
 </div>

<script>
    $(document).ready(function() {
        $("[id^=audioControlButtons-] div.play").click(function() { 
          var id =    new Number;
          id = $(this).parent().attr('id').replace(/audioControlButtons-/, ''); 
          //alert(id);
          player1.loadAudio(id);
          return false;
        });
      });

</script>

私の問題は:

ID が player1.loadAudio( id )に渡されていません

player1.loadAudio( 1 )をハードコーディングした場合

できます!しかし、変数を関数に渡そうとした瞬間、機能しません...

ただし、 alert(id)のコメントを外すと、id が生成されていることがわかります...

誰かが助けることができますか?

乾杯、ダン

4

2 に答える 2

0

私はあなたの問題を見ていると思います。変数 id は文字列です。試す;

player1.loadAudio(parseInt(id));

ええ、初期化行は必要ありません。使用するだけです。

var id = $(this).parent().attr('id').replace(/audioControlButtons-/, ''); 
于 2013-11-13T05:55:00.960 に答える