JS新手提问:点击切换视频的onclick自定义函数无法运行如何解决?
问题原因
- ID选择器与属性不匹配:JS中使用
getElementById("video_item")查找元素,但HTML的video标签仅设置了class="video_item",没有对应id属性,无法命中目标元素,修改src的操作自然不生效。 - 视频路径缺失前缀:默认视频的完整路径是
videos/xxx.mp4,但点击事件传入函数的只有文件名,缺少videos/路径前缀,就算成功修改src也无法加载到视频资源。 - 路径分隔符不规范:代码中使用了Windows专属的反斜杠
\作为路径分隔符,Web环境下推荐使用通用的正斜杠/避免兼容问题。
修正方案
- 给video标签添加对应的id属性,同时替换路径分隔符:
<video id="video_item" class="video_item" src="videos/Hair - 43633.mp4" autoplay muted loop> </video>
- 修改JS代码,补全路径前缀,新增手动播放逻辑(避免动态修改src后浏览器不自动播放):
function videoUrl(moin) { const videoEl = document.getElementById("video_item"); videoEl.src = `videos/${moin}`; videoEl.play(); }
- 所有资源路径的反斜杠都替换为正斜杠即可。
内容的提问来源于stack exchange,提问作者user16574704
相关产品推荐
相关产品推荐

