[英]Can we set attribute 'id' to different 'buttons' via loop using javascript or jquery?
我想實現以下目標:
假設我的頁面上有十個按鈕,它們都是動態生成的。 我已經為所有這十個按鈕添加了ID,比如id為1,2,3 .... 10。 使用以下代碼。
function createButton(id){
button.setAttribute("name", id);
}
現在我想將“onlick”事件添加到所有這些按鈕,就像這樣
function abc()
$(document).on('click','#1', function(){
callSomeFunc();
});
這樣我就不得不用不同的Id編寫上述代碼10次。 我試圖在函數上使用循環
function abc()
for(var i=1, i<=10, i++){
$(document).on('click',id, function(){
callSomeFunc(id);
});
}
無濟於事! 我怎樣才能做到這一點?
您的功能的直接修復,堅持您嘗試的方式,是執行以下操作:
function abc()
for(var i=1, i<=10, i++){
$(document).on('click','#' + i, function(){
id = $(this).prop('id');
callSomeFunc(id);
});
}
注意我明確地添加了'#',並且指的是你的索引計數器而不是intial選擇器中的'id'。
不過,我會推薦一些改進。 你總是可以避免$(文件)笨拙:
function abc()
for(var i=1, i<=10, i++){
$('#' + i).click(function(){
id = $(this).prop('id');
callSomeFunc(id);
});
}
你有沒有理由使用ID? 如果你設置了一個普通的課程,你可以一舉完成這一切! 另外,如果您使用id為不同的按鈕提供不同的行為,您可以使用$(this)在事件處理程序中執行此操作
//This will apply the click handler to every element that has class="someClass"
$('.someClass').click(function(){
//Do stuff with $($this)
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.