如何更改 javascript 函数以针对所有 ID 后跟数字

Posted

技术标签:

【中文标题】如何更改 javascript 函数以针对所有 ID 后跟数字【英文标题】:How to change a javascript function to target all ID's followed by a number 【发布时间】:2019-04-04 10:19:53 【问题描述】:

我正在构建一个使用包含在引导模式中的视频的网站。

我有这段代码可以在用户打开模式时自动播放视频,然后在用户关闭时暂停视频。一页上有多个视频模式,每个都有自己的 ID。

代码如下:

$('#smallVideoModal1').on('shown.bs.modal', function () 
  $('#video1')[0].play();
)
$('#smallVideoModal1').on('hidden.bs.modal', function () 
  $('#video1')[0].pause();
)

我想知道是否有一种方法可以以某种方式更改此 javascript 以定位任何以 ID 为“smallVideoModal”后跟数字开头的模式?我不喜欢为每个模态重复同一段 javascript 的想法。

【问题讨论】:

可能,是的,但是很多最好使用类代替 - 数字索引 ID 通常是一个非常糟糕的主意 您的处理程序收到的事件相当 badly documented 或者可能在没有链接到它的模态文档的情况下在某处进行了描述,但我敢打赌您的函数中 this 的值或事件本身可能会暴露模态元素。所以你可能会得到this.querySelector('video')e.something???..querySelector('video')的视频元素,这取决于事件的内容和this的值是什么 【参考方案1】:

在您的上下文中使用.querySelector('video')this 或其他)

【讨论】:

以上是关于如何更改 javascript 函数以针对所有 ID 后跟数字的主要内容,如果未能解决你的问题,请参考以下文章

如何以1-1000000作为参数运行JavaScript函数

如何更改我的回调函数以承诺?

下面JavaScript代码如何理解?块级作用域如何理?

请帮我看看这段javascript函数错在哪里

如何使用 javascript 和谷歌地图更改地图中的位置?

如何使用 javascript 更改所有链接