我有以下代码,我不知道为什么它返回trackingIds [i]在View和Click函数中未定义...我想填充一个数组,代码应该遍历每个数组索引并检查是否元素被徘徊或点击。第一个函数中的el_id和trackingIds [i]返回正确的值。我很感激任何帮助,因为我似乎无法解决这个问题。
O(n^2)
答案 0 :(得分:3)
您需要在let
中使用for-loop
。
jQuery(document).ready(function() {
var trackingIds = ["elementid"];
for (let i = 0; i < trackingIds.length; i++) {
var el_id = jQuery('#' + trackingIds[i]);
//console.log(el_id);
//console.log(trackingIds[i]);
el_id.click(function() {
Click(trackingIds[i]);
});
el_id.mouseover(function() {
View(trackingIds[i]);
});
}
});
function Click(a) {
//do stuff...
console.log("Click was called from: " + a);
}
function View(b) {
// do stuff..
console.log("View was called from: " + b)
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<h1 id='elementid'>Click me!</h1>
&#13;
let
let
语句声明一个块作用域局部变量,可选择将其初始化为一个值。