मेरे लिए निम्न कार्य क्यों नहीं है?
<script>
document.getElementById('lbltipAddedComment').innerHTML = 'Your tip has been submitted!';
</script>
<label id="lbltipAddedComment"></label>
मेरे लिए निम्न कार्य क्यों नहीं है?
<script>
document.getElementById('lbltipAddedComment').innerHTML = 'Your tip has been submitted!';
</script>
<label id="lbltipAddedComment"></label>
जवाबों:
क्योंकि आपकी स्क्रिप्ट पहले से चल रही है, इसलिए लेबल पृष्ठ पर (DOM में) मौजूद है। या तो स्क्रिप्ट को लेबल के बाद डालें, या तब तक प्रतीक्षा करें जब तक कि दस्तावेज़ पूरी तरह से लोड न हो जाए (एक ओनलॉड फ़ंक्शन का उपयोग करें, जैसे jQuery ready()
या http://www.webreference.com/programming/javascript/onloads/ )
यह काम नहीं करेगा:
<script>
document.getElementById('lbltipAddedComment').innerHTML = 'your tip has been submitted!';
</script>
<label id="lbltipAddedComment">test</label>
यह काम करेगा:
<label id="lbltipAddedComment">test</label>
<script>
document.getElementById('lbltipAddedComment').innerHTML = 'your tip has been submitted!';
</script>
यह उदाहरण (jsfiddle लिंक) ऑर्डर को बनाए रखता है (स्क्रिप्ट पहले, फिर लेबल) और एक ऑनलोड का उपयोग करता है:
<label id="lbltipAddedComment">test</label>
<script>
function addLoadEvent(func) {
var oldonload = window.onload;
if (typeof window.onload != 'function') {
window.onload = func;
} else {
window.onload = function() {
if (oldonload) {
oldonload();
}
func();
}
}
}
addLoadEvent(function() {
document.getElementById('lbltipAddedComment').innerHTML = 'your tip has been submitted!';
});
</script>
क्या आपने कोशिश की .innerText
या .value
इसके बजाय .innerHTML
?
.value
लिए पिटाई कर रहा थाlabel
.text('Your Text')
क्योंकि स्क्रिप्ट निष्पादित होने पर लेबल तत्व लोड नहीं होता है। लेबल और स्क्रिप्ट तत्वों को स्वैप करें, और यह काम करेगा:
<label id="lbltipAddedComment"></label>
<script>
document.getElementById('lbltipAddedComment').innerHTML = 'Your tip has been submitted!';
</script>
.textContent
इसके बजाय उपयोग करें ।
मैं एक लेबल के मूल्य को बदलने के साथ ही संघर्ष कर रहा था, जब तक कि मैंने यह कोशिश नहीं की।
यदि यह ऑब्जेक्ट के निरीक्षण के प्रयास को हल नहीं करता है, तो यह देखने के लिए कि आप console.dir
इस प्रश्न पर दिखाए गए कंसोल के साथ इसे लॉग इन करके क्या गुण सेट कर सकते हैं : मैं जावास्क्रिप्ट तत्व के रूप में HTML तत्व कैसे लॉग कर सकता हूं?
"enter info here:"
निम्नलिखित के हिस्से को बदलें <label id='myLabel'>enter info here:<input type='text' id='inp'/></label>
:। केवल .textContent
काम किया, और से कोई भी .innerHTML
, .innerText
या .value
काम किया। (डिस्क्लेमर: मैंने केवल क्रोम में जाँच की है।)
.textContent
से .innerText
( और पढ़ने के लिए ठीक है), लिखने के लिए मेरे फ़ायरफ़ॉक्स 60 के लिए काम नहीं किया (यह भी एम्बेडेड इनपुट फ़ील्ड को मिटा दिया, जैसे .innerHTML
)। इसलिए मुझे इसका सहारा लेना पड़ा document.getElementById('myLabel').childNodes[0].nodeValue="new label text"
(बेशक, इंडेक्स कुछ और हो सकता है फिर 0, जो बनाता है थोड़ा कमज़ोर है लेकिन मेरे लिए काम किया है)
यहाँ jQuery का उपयोग करके लेबल के पाठ को बदलने का एक और तरीका है:
<script>
$("#lbltipAddedComment").text("your tip has been submitted!");
</script>
JsFiddle उदाहरण की जाँच करें
इसे इस्तेमाल करे:
<label id="lbltipAddedComment"></label>
<script type="text/javascript">
document.getElementById('<%= lbltipAddedComment.ClientID %>').innerHTML = 'your tip has been submitted!';
</script>