我正在尝试创建一个项目列表,当您单击其中一个项目时,将打开与该项目相关的视频。所以我试着处理标题,这样每当我用title=xxx点击一个项目时,title=xxx的视频就会显示出来(而其他的就会隐藏起来)。我不知道如何使用变量来选择正确的项目。这是我尝试过的:
$(".speaker").click(function() {
let speakerName = $(this).attr('title');
console.log(speakerName);
$(".speaker-content [title!=" + speakerName + "]").hide();
$(".speaker-content [title ==" + speakerName + "]").show();
});<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="presentations">
<div class="speaker" title="s5-sp1">
<p><i class="fas fa-info-circle"></i>Dr Daniel</p>
</div>
<div class="speaker-content" title="s5-sp1">
<div class="videowrapper">
<iframe width="100%" src="https://www.youtube.com/xxx" title="YouTube video player"></iframe>
</div>
</div>
</div>
我还尝试使用for each来检查它们,但没有成功。
欢迎任何帮助,谢谢。
发布于 2021-07-01 04:23:56
您最大的错误是类和属性之间的空格。属性位于同一个类上,因此需要将它们连接起来。此外,您不能在属性中使用比较操作符==。
$('.speaker').click(function(){
let speakerName = $(this).attr('title');
$('.speaker-content').hide();
$(`.speaker-content[title='${speakerName}']`).show();
});https://stackoverflow.com/questions/68201094
复制相似问题