[英]this.id corresponds to variable
我有一個與數字相對應的變量列表。 我使用這些變量將數字寫到正在構建的Web應用程序的“屏幕”中。
var zero = 0;
var one = 1;
var two = 2;
var three = 3;
var four = 4;
var five = 5;
var six = 6;
var seven = 7;
var eight = 8;
var nine = 9;
var dec = ".";
var neg = "-";
過去,每個按鈕都有一長串的onclick
函數:
$('#a0').click(function(){
writeInput(input, zero);
});
$('#a1').click(function(){
writeInput(input, one);
});
$('#a2').click(function(){
writeInput(input, two);
});
...
我想將所有這些單擊函數轉換為如下形式:
$('.btnA').click(function(){
var id = this.id;
writeInput(input, id);
});
哪個調用此函數:
function writeInput(field, str){
var text = $(field).val(function(i, v){
return v + str;
}).text(function(i, t){
return t + str
}).val();
convert(text, version);
}
上面輸入的數字上的所有按鈕都具有以下HTML:
...
<a id="seven" class="btnA"><div class="inputBtn mar" id="input7">7</div></a>
<a id="eight" class="btnA"><div class="inputBtn mar" id="input8">8</div></a>
<a id="nine" class="btnA"><div class="inputBtn" id="input9">9</div></a>
...
我的問題是:我可以從<a id="nine" class="btnA">
獲取ID名稱,並使其與var nine = 9;
對應<a id="nine" class="btnA">
var nine = 9;
我希望這是有道理的。 如果沒有,請詢問我將回答任何問題。 謝謝!
使用帶有ID的對象作為鍵,您將獲得數字:
var numbers = {one: 1, two: 2, three: 3, .....};
$('.btnA').click(function(){
var id = numbers[this.id];
writeInput(input, id);
});
您可以使用數據類型屬性並編寫以下內容:
<a data-number="7" class="btnA"><div class="inputBtn mar" id="input7">7</div></a>
$('.btnA').click(function(){
var number = $(this).data('number');
writeInput(input, number);
});
應該這樣做:
$('.btnA').click(function() {
var t = $(this).text(),
n = parseInt(t, 10);
writeInput(input, isNaN(n) ? t : n);
});
但是,你還可提取id屬性的數量(只substr
的“A”)或為他們更好地利用數據屬性的讀取按鈕文字。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.