/ / मेरे पास हर बार एक जावास्क्रिप्ट मूल्य है जब मैं जावास्क्रिप्ट में एक संख्या लिखता हूं - जावास्क्रिप्ट, jquery

जब भी मैं जावास्क्रिप्ट - जावास्क्रिप्ट, jquery में एक संख्या योग करता हूं तो मेरे पास NaN मान होता है

मैं एक चुंबन काउंटर जोड़ने के लिए एक बटन बनाया है, लेकिन मैं "एक हो रही हूँ NaN मूल्य और मैं इसे हल करने का तरीका नहीं जानता। क्या आप लोग कृपया मेरी मदद कर सकते हैं?

मैं मूल्यों को सहेज रहा हूं LocalStorage और मुझे jQuery के साथ DOM के मान मिल रहे हैं। यह वही है जो डेटा को बचाने के लिए कर रहा है:

<h1>Due: <span id="counter">0</span></h1>
<a id="btn" href="javascript:void(0);">+</a>

var btn = $("#btn").click(function() {
var valor = $("#counter");
valor.text(parseInt(valor) + 1);
saveData();
});

function saveData() {
if (supportsLocalStorage()) {
var counter = $("#counter").text();
localStorage.setItem("kisses", counter);
}
}

मैं एक NaN मान प्राप्त कर रहा हूँ हर बार मैं प्लस बटन पर क्लिक करता हूँ।

मेरे पास एक बेला है।

https://jsfiddle.net/usdjsr40/

आशा है कि आप लोग मेरी समस्या के लिए मेरी मदद कर सकते हैं, धन्यवाद।

उत्तर:

उत्तर № 1 के लिए 1

आप किसी वस्तु को पार्स करने की कोशिश कर रहे हैं NaN तथा NaN + 1 देता है NaN। तो इसे आजमाएं:

var btn = $("#btn").click(function() {
var valor = $("#counter");
valor.text(parseInt(valor.html().trim()) + 1);
saveData();
});

function saveData() {
if (supportsLocalStorage()) {
var counter = $("#counter").text();
localStorage.setItem("kisses", counter);
}
}

उत्तर № 2 के लिए 1

आप parseInt को html ऑब्जेक्ट पास कर रहे हैं, इस प्रकार यह NaN भेज रहा है।

 var valor = $("#counter");

यहाँ वीरता html एलिमेंट है न कि स्ट्रिंग।

इसे इस्तेमाल करे:-

 var valor = $("#counter").text().trim();

जवाब के लिए 0 № 3

NaN का मतलब होता है नॉट अ नंबर। आप डेटा लोड नहीं कर रहे हैं $("#counter") उचित रूप से।

$("#counter") बस jQuery तत्व वस्तु है। आप संख्या के बजाय जावास्क्रिप्ट ऑब्जेक्ट में नंबर एक को जोड़ने का प्रयास कर रहे हैं।

तत्व के भीतर मूल्य प्राप्त करने के लिए, आपको इसे इस तरह से कॉल करने की आवश्यकता है:

$("#counter").html()

फिर आप इसके चारों ओर parseInt लपेट सकते हैं:

parseInt( $("#counter").html() )

तो कोड की आपकी पहली कुछ पंक्तियाँ इस तरह दिखनी चाहिए:

<h1>Due: <span id="counter">0</span></h1>
<a id="btn" href="javascript:void(0);">+</a>

var btn = $("#btn").click(function() {
var valor = $("#counter").html();
valor.text(parseInt(valor) + 1);
saveData();
});