-1

我有多个类型为 aud 的 div。div没有ID。我无法执行点击功能,然后使用 (this),因为它必须在页面加载时使用。

每个 div 都有一个名为 file 的属性,我将其分配给一个变量,然后将其放入 html5 音频标签中。我需要 SRC 对 div 是唯一的。

    var item = $('.type-aud');
        path = item.attr('file'),
        html = '<audio controls><source src="'+path+'" type="audio/mpeg" class="audio"></audio>',
        playerClass = item.find('.audio');

    if (!playerClass.hasClass('audio')) {
        item.append(html);          
    }
4

3 回答 3

4

只需.each()在您本来会使用的地方使用.click().

$('.type-aud').each(function ()
{
    var item = $(this);
    // audio tag business here
});
于 2013-01-30T16:54:01.993 回答
1
$('.type-aud').each(function(i,ele) {
    var item = $(ele),
        path = item.attr('file'),
        html = '<audio controls><source src="'+path+'" type="audio/mpeg" class="audio"></audio>',
        playerClass = item.find('.audio');

    if (!playerClass.is('.audio')) item.append(html);
});
于 2013-01-30T16:57:13.540 回答
1

您可以循环所有具有类 .type-aud 的 div,然后选择其文件属性

$('.type-aud').each(function() {
 var item = $(this);
        path = item.attr('file'),
        html = '<audio controls><source src="'+path+'" type="audio/mpeg" class="audio"></audio>',
        playerClass = item.find('.audio');

    if (!playerClass.hasClass('audio')) {
        item.append(html);          
    }
});
于 2013-01-30T16:58:40.667 回答