這完全是神祕的。我查了一切,搜索了一切,但看起來這應該工作。我在我的代碼中使用其他html元素完成了相同的事情,並且他們都給了我值,但是這次我對這個特定的HTML元素沒有定義。下面的代碼段:HTML元素的值屬性給出了未定義的值
<div class="pianoKeyboard">
<button id="octaveUp" value="off">Octave Up</button>
<button id="octaveDown" value="off">Octave Down</button>
<div id="octaveNum" value='0'>Default</div>
var octaveNumber = document.getElementById("octaveNum");
octaveup.addEventListener("click", function(e) {
if (booleanVal == false) {
booleanVal = true;
console.log(octaveNumber.value);
你看不出什麼問題?因爲我沒有。我可以console.log
元素本身沒有價值,但如果我加.value
它,我得到undefined
。
我承擔要爲Div數據值添加+1,我們首先必須將其解析爲整數,對不對?感謝您的明確答覆。 – Limpuls
@Limpuls這通常是一個明智的想法:)因爲有點精明的用戶可能會嘗試變得有趣並修改DOM屬性值。您可以簡單地使用'+ octaveNumber.dataset.value'將它強制轉換爲數字(例如'var octave = + octaveNumber.dataset.value'),或者使用更詳細的Number(octaveNumber.dataset.value):) – Terry