我想我刚刚用这个打了个精神障碍;也许一些新鲜的眼睛会有所帮助。
基本上我有一些类“menu-item”的实例,当点击它时通过jQuery调用click函数并调出一个视频。我没有给每个人提供一个id和一个类,而是试图找到该类的哪个实例被点击(1,2,3等)。 但似乎无法得到它。
//click listener for menu-items
$('.menu-item').click(function(event)
{
var o = $('.menu-item');
var count = o.length();
switch(count)
{
case 0 :
filename == 'letters';
break;
case 1 :
filename == 'the-gift';
break;
}
var videoPlayer = '<video controls width="618px">';
videoPlayer += '<source src="_video/' + filename + '.mp4" />';
videoPlayer += '</video>';
//place video
$('#videoCont').html(videoPlayer);
});
我正在尝试创建一个数组,其中'menu-item'的每个实例都是一个数组项。 (顺便说一句,现在我只是在添加ogv和webm格式之前使用mp4文件类型进行校对)。
感谢您的帮助!
答案 0 :(得分:1)
您似乎实际上没有为变量filename
分配值。您只是将变量的值与硬编码字符串进行比较,而不是将其(true / false)分配回任何内容。
可能你的意思是这个?
switch(count)
{
case 0 :
filename = 'letters';
break;
case 1 :
filename = 'the-gift';
break;
}
答案 1 :(得分:1)
除了@ p.campbell的解决方案。我不确定你的代码是如何工作的。
var o = $('.menu-item')
将始终返回相同数量的项目,即具有menu-item作为类的项目数。为什么不将类似文件名的属性设置为适当的值。像这样
<li class='menu-item' filename='letters'>Letters</li>
然后在你的点击处理程序中你可以做
var filename = $(this).attr('filename');