2016-11-03 2 views
1

ここonclick="incrementValue(this)"番号コンソールでの作業の解析ではなく、スクリプト内の

function incrementValue(plusElement) { 
    var choicesLeft = jQuery("#choicesLeft"); 

    choicesLeft.innerHTML = Number(choicesLeft.innerHTML) - 1; 
    console.log(choicesLeft.innerHTML); 
}; 

console.logラインアウト出力し、コンソールでのNaNとしての要素の上に呼び出されている私の単純な関数は、です。

しかし、私は、コンソールに次の行を入力したとき:

choicesLeft.innerHTML = Number(choicesLeft.innerHTML) - 1;

予想される動作が発生します。

アイデア?

+0

'mealsLeft'とは –

+0

choicesLeftはjQueryオブジェクトで、innerHTMLはありません。私は非常にコンソールで動作することに疑いがあります。 – epascarello

+2

'.innerHTML'の代わりに' .text() 'を使用してください –

答えて

1

innerHTMLは、jQueryオブジェクトで呼び出すのでここでは機能しません。

代わりinnerHTMLの使用text()

choicesLeft.text(Number(choicesLeft.text()) - 1); 

は、この情報がお役に立てば幸いです。

function incrementValue() { 
 
    var choicesLeft = jQuery("#choicesLeft"); 
 

 
    choicesLeft.text(Number(choicesLeft.text()) + 1); 
 
};
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<button onClick='incrementValue()'>Increment</button> 
 
<br> 
 
<span id='choicesLeft'>0</span>

+1

text()の提案で十分でした。あなたは笑を編集を停止することができます受け入れます。 PSさんは 'Hoep'に入力ミスをしました。 – softcode

0

あなたのコードでは、いくつかの問題が含まれています

function incrementValue(plusElement) { 
    var choicesLeft = jQuery("#choicesLeft"); 

    choicesLeft.innerHTML = Number(choicesLeft.innerHTML) - 1; 
    console.log(mealsLeft.innerHTML); 
}; 

まずあなたが使用ネーヴあるパラメータplusElementを使用しています。

第2に、javascriptとjqueryを混在させています。

choicesLeftは、jqueryオブジェクトで、jquery APIを使用して対話する必要があります。

は、だから、何かを持っている必要があります。

var choicesLeftNum = Number(choichesLeft.text()); 

または

var choicesLeftNum = +choichesLeft.text(); 

または VAR choicesLeftNum =のparseInt(choichesLeft.text()、10);あなたがデクリメントできるより

choichesLeft.text(choicesLeftNum - 1); 

任意の場合は、HTMLコンテンツを望んでいないとして、あなたが代わりにHTML()テキスト()を使用する必要があります。あなたはテキスト全体で大丈夫です。

関連する問題