2013-07-07 76 views
0

Here是小提琴。我試圖做到這一點,當你按下按鈕時,它會將1加到#num將數字添加到p.value

JS:

$(document).ready(function() { 
    $('#b').button({ 
     icons: { 
      secondary: '.ui-icon-triangle-1-n' 
     } 
    }); 
    $('#b').click(function() { 
     var x = '#num'.value; 
     var u = x + 1; 
     document.getElementById('#num').innerHTML = u; 
    }); 
}); 
+0

您是否嘗試過將要值到控制檯查看可能發生了什麼? –

回答

2

試試這個。它應該工作

$(document).ready(function() { 
    $('#b').button({ 
     icons: { 
      secondary: '.ui-icon-triangle-1-n' 
     } 
    }); 
    $("#b").click(function() { 
     var x = parseInt($('#num').html()); 
     var u = x + 1; 
     $('#num').html(u); 
    }); 
}); 
+0

這個建議是綁定一個點擊身體而不是按鈕:'$(this).click(function(){' – Seth

+0

如何使用'$(this)'?這不是指'文件'在這種情況下? – regularmike

+0

對不起,沒有注意到這個錯誤,我複製了實際的代碼並修改了錯誤部分。 – mohkhan

0
var x = Number($('#num').text()); 

您還沒有獲取價值的正確方法。試試上面的

+0

應該刪除前導'#'嗎? – neuront

+0

@TGH段落標記沒有值屬性。 – Daedalus

+0

正確。我已經更新 – TGH

0

假設第一部分工作以某種方式(不知道什麼是「按鈕」時),試試這個:

$('#b').click(function() { 
    var x = $('#num').text(); 
    var u = parseInt(x) + 1; 
    $('#num').html(u); 
}); 
+0

沒有投票下來,但這是行不通的。段落標籤沒有價值屬性 – Daedalus

+0

我知道,我沒有看小提琴,只是改成了text() – regularmike

+0

這個恐怕還存在問題 – Daedalus

0
$(document).ready(function() { 
    $('#b').button({ 
     icons: { 
      secondary: '.ui-icon-triangle-1-n' 
     } 
    }); 
    $(this).click(function() { 
     // var x = '#num'.value; 
     var x = $('#num').html(); 
     var u = parseInt(x) + 1; 
     document.getElementById('#num').innerHTML = u;//why not use $('#num').html(u); 
    }); 
}); 

你可以試試這個。

0

有以下幾種錯誤:

  • '#num'.value無效。如果您想使用document.getElementById,應該使用$('#num')來獲取jQuery節點
  • ,應該是document.getElementById('num')。請注意,沒有領先的'#'
  • 可以使用.innerHTML(用於DOM節點)或.html()(用於jQuery節點)來獲取或設置HTML內容,如p,div,span。從輸入textarea獲取輸入值,使用.value(對於DOM節點)或.val()(對於jQuery節點)
  • 節點中的任何值或HTML內容都是字符串,因此您最好通過parseInt將其更改爲數字(JavaScript允許你添加一個字符串爲整數,但實際上是一個字符串串連)

我想改變這樣的代碼:

$(this).click(function() { 
    var x = parseInt($('#num').html()); 
    var u = x + 1; 
    document.getElementById('num').innerHTML = u; 
});