我正在尝试在我的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
答案 0 :(得分:3)
试试这个:
var startTime = $('#'+videoId).prop('data-start-time');
假设videoId
中接收的函数是元素ID,那么您需要通过ID获取该元素。只是命名ID不会这样做。你也可以使用这样的普通javascript:
document.getElementById(videoId).getAttribute('data-start-time');