2

私のマークアップ

そしてこのJQueryコード

再生を押すたびにエラーが発生し続けます

<div class = "container">
    <legend><strong>Zedd - Spectrum</legend></h4>
    <div class = "art-item"><img src="uploads/arts/default.jpg"></div>
        <audio class = "audio-player" src = "uploads/tracks/02 So Far.mp3">
        </audio>

            <div class = "playerContainer">

                <ul id =  "playerControls" >
                    <li class = "play-bt"></li>
                    <li class = "pause-bt"></li>
                    <li><div class ="progressContainer"><!-- Progess bars container //-->
                        <div class ="progressbar"></div>
                    </div>
                    </li>

                </ul>
                <span class ="timecode">0:00</span>
            </div>
</div>


<div class = "container">
    <legend><strong>Zedd - Spectrum</legend></h4>
    <div class = "art-item"><img src="uploads/arts/default.jpg"></div>
        <audio class = "audio-player" src = "uploads/tracks/track3.mp3">
        </audio>

            <div class = "playerContainer">

                <ul id =  "playerControls" >
                    <li class = "play-bt"></li>
                    <li class = "pause-bt"></li>
                    <li><div class ="progressContainer"><!-- Progess bars container //-->
                        <div class ="progressbar"></div>
                    </div>
                    </li>

                </ul>
                <span class ="timecode">0:00</span>
            </div>
</div>

play-btをクリックするたびに、このエラーが発生し続けます

Uncaught TypeError: Object #<Object> has no method 'play' 

オーディオタグには再生方法がありませんか?

4

2 に答える 2

6

jQueryはネイティブではなくjQuery オブジェクト.find()を返すため、によって返されるをラップ解除する必要があります。HTMLAudioElement.find()

$artItem.find('audio')[0].play();
// or
$artItem.find('audio').get(0).play();
于 2012-08-08T12:45:10.687 に答える
1

ここではプレーンな dom タグではなく、jquery にアクセスします。

$artItem.find("audio")[0].play()
于 2012-08-08T12:44:53.800 に答える