簡體   English   中英

this.id對應於變量

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM