0

我正在尝试在我的 Javascript 中创建一个变量,该变量使用在数据开始时间分配的值。

这是我的html:

        <li data-pile="1" id="kQKhpVWBjoQ" data-start-time="20" class="md-trigger md-setperspective">
        </li>

这是我的 JS:

function playVideo(videoId, cb) {
    if(videoId) {
        myModal.find('.md-video').append($videoDiv);
        myModal.addClass('md-show');
        setTimeout(function () {
            console.log('#### id', videoId);
            var startTime = videoId.getAttribute('data-start-time');
            player.loadVideoById({'videoId': videoId, 'startSeconds': startTime});
            player.videoEnded = function () {
                cb && cb();
            };

            player.waitForChanges();
        }, 1000);
    }
}

如果我在我的 js 中创建变量 startTime 并硬编码一些值,则播放器可以工作。但是我似乎可以弄清楚线路有什么问题:

var startTime = videoId.getAttribute('data-start-time');

我需要做的就是使用根据特定“li”而变化的 id 在 data-start-time="..." 中为每个“li”获取在 html 中分配的值

4

1 回答 1

3

尝试这个:

var startTime = $('#'+videoId).prop('data-start-time');

假设接收的函数videoId是元素 ID,那么您需要通过 ID 获取该元素。仅仅命名ID是不行的。你也可以像这样使用普通的javascript:

document.getElementById(videoId).getAttribute('data-start-time');
于 2013-10-06T05:47:16.437 回答