javascript - 合并 Javascript 变量

标签 javascript jquery

我在 map 中有一组标记,它们被命名为 ev1、ev2、ev3 等。

当我点击一个链接时,我想从 map 上打开一个弹出窗口,它们是这样触发的,

ev1.openPopup();

但是因为我不能为每个标记编写弹出代码,所以我得到了这样的 jquery 代码

$(document).on('click', '.venname', function () {
var myLinkId = $('.venname').attr('data-mylink'); 
    ev+myLinkId.openPopup();
});

单击链接后,它将获得一个名为 data-mylink 的 ID,并将其与 ev 结合,例如,当我单击 lick one 时,它​​将具有一个名为 1 的属性,jquery 代码将获得 1 并使variavle ev1 并将触发弹出窗口,但不知何故我无法让这个东西工作并得到一个错误 ev is not defined。

那么如何将 ev 与变量 myLinkID 结合起来呢?

最佳答案

您可以使用原始对象或数组来存储标记对象:

var markers = {marker1: new Marker(...), marker2: new Marker(...), ... };

然后你可以像这样到达标记对象:

markers['marker'+markerId].openPopup();

数组示例:

var markers = [new Marker(...), new Marker(...), ...];

markers[markerIndex].openPopup();

关于javascript - 合并 Javascript 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19022593/

相关文章:

javascript - 拆分 div 文本,不使用制表符空格

javascript - Snap.svg 中的 mask 问题

jquery 通过名称调用函数

jquery - 如何制作具有固定标题、滚动和列可调整大小的表格

javascript - Grunt Uglify 最后一行的奇怪字符导致没有任何变化

javascript - a 帧屏幕截图仅适用于基元

javascript - Safari iOS7 : Bottom bar can't be hidden when using -webkit-overflow-scrolling: touch;

javascript - 带有简单过滤器的菜单树

jquery - 清除引导文件上传上的文件

javascript - jQuery hide() 不起作用 (IE9)