2016-02-27 76 views
1

我想做一個計數器函數,可以應用於許多ID。這意味着我想通過它不同的ID來執行相同的操作。如何調用通過它的函數方法不同的ID?

類似的東西,但它不工作:

<a href="#" onclick="update_counter_dynamically(count_1)">+1 Counter</a> 

<div id="count_1" class="column">0</div> 

<a href="#" onclick="update_counter_dynamically(count_2)">+1 Counter</a> 

<div id="count_2" class="column">0</div> 

function update_counter_dynamically(my_id){ 
    var actual_value = $('#'+my_id); 
    var num = parseInt(actual_value.text()); 
    actual_value.text(num+1); 
} 
+0

什麼是錯誤信息? – millerbr

+4

嘗試將'onclick =「update_counter_dynamically(count_1)」'更改爲'onclick =「update_counter_dynamically('count_1');」'? *身份證附近的單引號* – NewToJS

+0

沒有錯誤信息,它不工作!但改爲「count_1」解決了我的問題。非常感謝! – alexscjava

回答

2

你的函數調用是有缺陷的 - 你需要的IDS串通過,但你通過它(未定義)變量。相反,嘗試:

<a href="#" onclick="update_counter_dynamically('count_1')">+1 Counter</a> 

<a href="#" onclick="update_counter_dynamically('count_2')">+1 Counter</a> 

注意count_1現在爲使用單引號字符串傳遞。這允許我們在onClick =字符串中定義一個字符串。

感謝@NewToJS發現評論中的缺陷

+0

我把它作爲評論發佈,因爲它幾乎不值得發佈爲答案。 – NewToJS

+0

是的,但它破壞了我們的新問題的好名單,看到一個與0答案:p – millerbr

+0

你的意思是你想得到你的觀點:p這很酷。既然你進入更多的細節,我會+1你,也很高興看到你增加了積分;) – NewToJS

相關問題