Javascript 如何使用jquery选择数组中的内容?
我用记号笔和弹出窗口制作了一张Leappad openstreetmap。 现在,我想根据单击的标记更改该网站上另一个Javascript 如何使用jquery选择数组中的内容?,javascript,jquery,html,Javascript,Jquery,Html,我用记号笔和弹出窗口制作了一张Leappad openstreetmap。 现在,我想根据单击的标记更改该网站上另一个中显示的图片。为了更新div,我考虑使用jquery。我现在的问题是,当我点击一个标记时,获取数组的内容(图像url)。。。 我将感谢任何帮助 function add_marker() { var points = [ ["P1", 51.57186, 11.8517, '<img src="img/1.JPG" alt="" width="350
中显示的图片。为了更新div,我考虑使用jquery。我现在的问题是,当我点击一个标记时,获取数组的内容(图像url)。。。
我将感谢任何帮助
function add_marker() {
var points = [
["P1", 51.57186, 11.8517, '<img src="img/1.JPG" alt="" width="350px">'],
["P2", 51.57886, 11.8117, '<img src="img/2.JPG" alt="" width="350px">'],
["P3", 51.57586, 11.8017, '<img src="img/3.JPG" alt="" width="350px">']
];
var marker = [];
for (var i = 0; i < points.length; i++) {
marker[i] = new L.Marker([points[i][1], points[i][2]])
marker[i].addTo(map);
marker[i].bindPopup(points[i][0]);
marker[i].on('click', onClick);
}
function onClick(e) {
$('#plot').html(points[i][3]);
};
}
函数add_marker(){
变量点=[
[“P1”,51.57186,11.8517,',
[“P2”,51.57886,11.8117,',
[“P3”,51.57586,11.8017,”]
];
var标记=[];
对于(变量i=0;i
您需要将对点
和i
的引用作为参数传递给onClick
函数,因为它们不在全局命名空间内
function add_marker() {
var points = [
["P1", 51.57186, 11.8517, '<img src="img/1.JPG" alt="" width="350px">'],
["P2", 51.57886, 11.8117, '<img src="img/2.JPG" alt="" width="350px">'],
["P3", 51.57586, 11.8017, '<img src="img/3.JPG" alt="" width="350px">']
];
var marker = [];
var i;
for (i = 0; i < points.length; i++) {
marker[i] = new L.Marker([points[i][1], points[i][2]])
marker[i].addTo(map);
marker[i].bindPopup(points[i][0]);
marker[i].on('click', function(e){
onClick(e, points, i);
});
};
};
function onClick(e, points, i) {
$('#plot').html(points[i][3]);
};
函数add_marker(){
变量点=[
[“P1”,51.57186,11.8517,',
[“P2”,51.57886,11.8117,',
[“P3”,51.57586,11.8017,”]
];
var标记=[];
var i;
对于(i=0;i
函数添加标记(){
变量点=[
[“P1”,51.57186,11.8517,',
[“P2”,51.57886,11.8117,',
[“P3”,51.57586,11.8017,”]
];
var标记=[];
var i;
对于(i=0;i
解释为什么使用闭包是错误的!
i
变量将包含所有onClick()函数的“points.length-1”值。
function add_marker() {
var points = [
["P1", 51.57186, 11.8517, '<img src="img/1.JPG" alt="" width="350px">'],
["P2", 51.57886, 11.8117, '<img src="img/2.JPG" alt="" width="350px">'],
["P3", 51.57586, 11.8017, '<img src="img/3.JPG" alt="" width="350px">']
];
var marker = [];
var i;
for (i = 0; i < points.length; i++) {
marker[i] = new L.Marker([points[i][1], points[i][2]])
marker[i].addTo(map);
marker[i].bindPopup(points[i][0]);
// using a closure to avoid incorrect reference
(function (i) {
marker[i].on('click', function(e){
onClick(e, points, i);
});
})(i)
};
};
function onClick(e, points, i) {
$('#plot').html(points[i][3]);
};