Javascript 当我在一个数组中拥有所有ID,并且在文档准备就绪时填充这些ID时,如何在运行时附加click事件?
我有以下代码Javascript 当我在一个数组中拥有所有ID,并且在文档准备就绪时填充这些ID时,如何在运行时附加click事件?,javascript,jquery,Javascript,Jquery,我有以下代码 <script type="text/javascript"> $(document).ready(function () { var dataAnalysisDataFileTableIDs = $("#dataAnalysisDataFileTable tr[id]").map(function () { return this.id; }).get(); //for(var key in d
<script type="text/javascript">
$(document).ready(function () {
var dataAnalysisDataFileTableIDs = $("#dataAnalysisDataFileTable tr[id]").map(function () { return this.id; }).get();
//for(var key in dataAnalysisDataFileTableIDs) {
// var id = "#" + dataAnalysisDataFileTableIDs[key];
// $(id).click(function () {
// alert("[" + index + "][" + value + "]");
// });
//}
//$.each(dataAnalysisDataFileTableIDs, function (index, value) {
// var id = "#" + dataAnalysisDataFileTableIDs[key];
// $(id).click(function () {
// alert("[" + index + "][" + value + "]");
// });
//});
$("#dataAnalysisDataFileTable tr[id]").each(function (i, elem) {
$(elem).click(function () { alert("[" + i + "][" + this.id + "]"); });
});
$("#aaa").click(function () {
alert("meow");
});
});
</script>
$(文档).ready(函数(){
var dataAnalysisDataFileTableIDs=$(“#dataAnalysisDataFileTable tr[id]”).map(函数(){return this.id;}).get();
//for(DataAnalysisDataFileTableId中的var键){
//var id=“#”+dataAnalysisDataFileTableIDs[key];
//$(id)。单击(函数(){
//警报(“[”+索引+“][”+值+“]”);
// });
//}
//$.each(DataAnalysisDataFileTableId,函数(索引,值){
//var id=“#”+dataAnalysisDataFileTableIDs[key];
//$(id)。单击(函数(){
//警报(“[”+索引+“][”+值+“]”);
// });
//});
$(“#dataAnalysisDataFileTable tr[id]”)。每个(函数(i,元素){
$(elem)。单击(函数(){alert(“[”+i+“][”+this.id+“]);});
});
$(“#aaa”)。单击(函数(){
警惕(“喵喵”);
});
});
它不起作用我也尝试了评论部分中的一个,它与“for in”的作用相同。它不起作用,但当我将单击连接到id#aaa时,它工作正常。当我拥有数组中的所有id并且我希望能够将事件连接到它们时,我如何处理这个问题?我已经修补了可能的错误。但我无法解析
值
变量
for(var index=0, length=dataAnalysisFileTableIDs.length; index++) {
var key = dataAnalysisFileTableIDs[index];
var id = "#" + dataAnalysisFileTableIDs[key];
$(id).click(function () {
/* Value ? It's not defined*/
alert("[" + index + "][" + /*value +*/ "]");
});
}
dataAnalysisFileTableIDs
是一个数组。要在数组中循环,必须使用for(init_index;condition;increment)
循环。可以通过name\u of_array[index]
来获取密钥,只需使用每一个就可以了?像这样:
<html>
<head><script type="text/javascript" src="http://code.jquery.com/jquery-1.6.4.min.js"></script></head>
<body>
<table id="dataAnalysisDataFileTable">
<tr id="foo"><td>foo</td></tr>
<tr id="bar"><td>bar</td></tr>
</table>
<script type="text/javascript">
$(document).ready(function () {
$("#dataAnalysisDataFileTable tr[id]").each(function(i, elem) {
$(elem).click(function() { alert("[" + i + "][" + this.id + "]") } );
});
});
</script>
</body>
</html>
福
酒吧
$(文档).ready(函数(){
$(“#dataAnalysisDataFileTable tr[id]”)。每个(函数(i,元素){
$(elem)。单击(函数(){alert(“[”+i+“][“+this.id+”]);
});
});
for(在dataAnalysisDataFileTable中使用两次WORDDATA){+1;}