簡體   English   中英

如何獲取具有特定ID的div中的下一個元素

[英]How to get the next element in a div with a specific Id

對js來說還算是新手,所以嘗試獲取基礎知識。

我有一個項目,其中有一個帶有歌曲列表的div:

<div id="songs">
  <p>01 a la verticale <span class="title">[play]</span></p>
  <audio class="song" id="verticale" src="Songs/01_a_la_verticale.mp3" onended="audioEnd()"></audio>

  <p>02 éphémère <span class="title">[play]</span></p>
  <audio class="song" id="ephemere" src="Songs/02_ephemere.mp3" onended="audioEnd()"></audio>

  <p>03 geste humain <span class="title">[play]</span></p>
  <audio class="song" id="geste" src="Songs/03_geste_humain.mp3" onended="audioEnd()"></audio>

  <p>04 la seule chose <span class="title">[play]</span></p>
  <audio class="song" id="chose" src="Songs/04_la_seule_chose.mp3" onended="audioEnd()"></audio>
</div>

在我的html中,每個p標簽內部都有一個跨度,上面寫有“ play”,我正在嘗試實現該功能。

我知道如何使用.play和.pause等...,但是我的問題是如何獲得所點擊歌曲的音頻元素。 這是我嘗試過的:

jQuery的:

  $(".title").click(function() {
      var myAudioElement = $(this).parent().next("#song");
      var myId = myAudioElement.attr('id');

      alert(myId);
});

我想要的只是暫時了解該元素。 我的邏輯是,標簽跨度位於p標簽內,因此,從單擊的跨度開始,我需要先到達其父級(p標簽),然后再將帶有參數“ song”的next()賦予下一個元素( div中帶有歌曲ID的音頻)。

但是警告框返回“ undefined”。

我究竟做錯了什么?

你有錯字 歌曲是一類,而不是ID:

var myAudioElement = $(this).parent().next(".song");

通過nextElementSibling DOM屬性獲取緊隨其后的下一個元素(緊接在緊接着的元素同級之后)。 請勿將它與nextSibling DOM屬性混淆,該屬性將返回初始指定節點之后的任何節點。

您可以簡單地使用:

$(this).parent().next("audio");
//Or also using the general class 'song'
$(this).parent().next(".song");

希望這可以幫助。

 $(".title").click(function() { var myAudioElement = $(this).parent().next("audio"); var myId = myAudioElement.attr('id'); console.log(myId); }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div id="songs"> <p>01 a la verticale <span class="title">[play]</span></p> <audio class="song" id="verticale" src="Songs/01_a_la_verticale.mp3" onended="audioEnd()"></audio> <p>02 éphémère <span class="title">[play]</span></p> <audio class="song" id="ephemere" src="Songs/02_ephemere.mp3" onended="audioEnd()"></audio> <p>03 geste humain <span class="title">[play]</span></p> <audio class="song" id="geste" src="Songs/03_geste_humain.mp3" onended="audioEnd()"></audio> <p>04 la seule chose <span class="title">[play]</span></p> <audio class="song" id="chose" src="Songs/04_la_seule_chose.mp3" onended="audioEnd()"></audio> </div> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM