ここにはかなりの頭脳スクラッチャーがあります。
jQuery を使用して、html5 オーディオ タグの上に曲に関するデータを追加しようとしています。これをより自動化する方法は、オーディオタグに data-* 属性を追加することだと思いましたが、jQuery でそれらを取り戻そうとすると、「オブジェクト # にはメソッド 'data' がありません」というエラーが表示されます。
<!DOCTYPE html>
<html>
<head>
<title>Test</title>
</head>
<body>
<audio controls data-artist="horse">
<source src="horse.ogg" type="audio/ogg">
<source src="horse.mp3" type="audio/mpeg">
<a href="horse.mp3">horse</a>
</audio>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
<script>
$(function(){
$('audio').before(function(){
artist = $('<div>');
artist.html(this.data('artist'));
return artist;
});
});
</script>
</body>
</html>
これが機能しない理由を見つけようとしましたが、決定的な答えを見つけることができませんでした。