0

私はJavaScriptと下手な英語の初心者です。

1)私はこのようなHTMLを持っています:

<ul id="search-list" class="playlist1"> 
   <li class="song songW" data-song-id="70"> 
      <div id="songNum" class="songNum" songurl="music/turn-it-up.mp3"
         songtitle="Turn It Up">Turn It Up
      </div>  
   </li>


   <li class="song songB" data-song-id="83">   
       <div id="songNum" class="songNum" songurl="music/black-keys.mp3"     
          songtitle="Black Keys">Black Keys </div>  
   </li>
 </ul>

2) この Javascript を使用して、クリックされた DIV から属性を取得します。クラスまたは id = "songNum" があります。

 var el = $("ul#search-list");
 $(el).bind(".songNum").click(function(eve) {                   
      eve.preventDefault();          
      songUrl = $(this).attr("songurl");
      alert(songUrl);});        
  ///// It's return "Undefined"

3) そして私が変わるとき

 var el = $("ul#search-list");
 $(el).bind(".songNum").click(function(eve) {                   
      eve.preventDefault();          
      songUrl = $(".songNum").attr("songurl");
      alert(songUrl);   }); 
 ///// It's just return a atrribute of the first DIV =>"music/turn-it-up.mp3", even i was click on the second DIV

私を助けてください、私の間違いを見せてください! どうもありがとうございます !!!

4

1 に答える 1

0
 var el = $("ul#search-list li");
 $(el).bind(".song").click(function(eve) {                  
      eve.preventDefault();          
      songUrl = $(this).find('div').attr("songurl");
      alert(songUrl);
});

動作するはずです。クリックされた最初の div のコンテキストを取得するために使用$(this)し、内部の子 div を見つけてから、そのプロパティにアクセスできます。

役に立ったことを願っています

于 2013-10-13T16:26:27.040 に答える