JS变量等于html数据属性

时间:2013-10-06 05:45:33

标签: javascript jquery html5

我正在尝试在我的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);
    }
}

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

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

我需要做的就是在每个数据的start-time =“...”中获取html中指定的值 “li”使用根据特定“li”而不同的ID

1 个答案:

答案 0 :(得分:3)

试试这个:

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

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

document.getElementById(videoId).getAttribute('data-start-time');