दिलचस्प पोस्ट
त्रुटि संदेश "एप्लिकेशन को स्थापित या चलाने में असमर्थ आवेदन के लिए GAC में स्टडोल संस्करण 7.0.3300.0 की आवश्यकता है " Linq से Sql तक की यादृच्छिक पंक्ति मुझे "java.lang.ClassNotFoundException: com.google.gson.Gson" त्रुटि मिल रही है, भले ही यह मेरी कक्षा में परिभाषित हो System.out को स्थिर फाइनल के रूप में घोषित किया गया है और शून्य के साथ आरंभ किया गया है? किसी अन्य कंप्यूटर पर एक स्थानीय गीट भंडार को कैसे धक्का जाए? विंडोज़ बैच फाइलें डायरेक्टरीज़ के माध्यम से प्रक्रिया फाइल करने के लिए लूपिंग? अनुसूचित NSTimer जब ऐप पृष्ठभूमि में है? मैं एक लॉगिन फॉर्म कैसे बंद कर सकता हूं और मेरा आवेदन बंद होने के बिना मुख्य फॉर्म कैसे दिखा सकता हूं? नियंत्रकों के बीच कोणीयसंग शेयर डेटा कॉन्फ़िगरेशन वेब संदर्भ बनाम सेवा संदर्भ उपयोगकर्ता डेटा को jqgrid में कैसे पढ़ा जाए? MySQL में "रिवर्स ग्रुप_CONCAT"? सरणी संरचना के साथ संबंधित चयन बक्से को पॉप्युलेट करने के लिए जावास्क्रिप्ट और jquery का उपयोग करना एंड्रॉइड में मेनू आइटम का टेक्स्ट रंग कैसे बदल सकता है? क्या मैं वाई-फाई डायरेक्ट में समूह के मालिक को लगातार समूह में बदल सकता / सकती हूं?

मैं अपने मूल तत्वों को परिवर्तित किए बिना एक तत्व का पाठ कैसे बदल सकता / सकती हूं?

मैं गतिशील रूप से तत्व के पाठ को अद्यतन करना चाहता हूं:

<div> **text to change** <someChild> text that should not change </someChild> <someChild> text that should not change </someChild> </div> 

मैं jQuery के लिए नया हूँ, इसलिए यह कार्य मेरे लिए काफी चुनौतीपूर्ण लगता है। क्या कोई मुझे फ़ंक्शन / चयनकर्ता के लिए उपयोग करने के लिए इंगित कर सकता है?

यदि यह संभव है, तो मैं इसे बदलने के लिए आवश्यक पाठ के लिए एक नया कंटेनर जोड़ते बिना इसे करना चाहता हूं।

Solutions Collecting From Web of "मैं अपने मूल तत्वों को परिवर्तित किए बिना एक तत्व का पाठ कैसे बदल सकता / सकती हूं?"

मार्क का उपयोग करके बेहतर समाधान मिला है , लेकिन आप इसे सामान्य जावास्क्रिप्ट में भी कर सकते हैं।

जावास्क्रिप्ट में, बाल नोड्स संपत्ति आपको पाठ नोड्स सहित किसी तत्व के सभी बच्चे नोड देती है।

इसलिए, यदि आप वह पाठ जानते थे जिसे आप बदलना चाहते थे तो हमेशा तत्व में पहली चीज होने वाली थी, फिर दी गयी उदाहरण HTML के रूप में:

 <div id="your_div"> **text to change** <p> text that should not change </p> <p> text that should not change </p> </div> 

आप यह कर सकते हैं:

 var your_div = document.getElementById('your_div'); var text_to_change = your_div.childNodes[0]; text_to_change.nodeValue = 'new text'; 

बेशक, आप अभी भी <div> पहले स्थान पर चुनने के लिए jQuery का उपयोग कर सकते हैं (यानी var your_div = $('your_div').get(0); )।

 $("div").contents().filter(function(){ return this.nodeType == 3; }).filter(':first').text("change text"); 

स्रोत: http://api.jquery.com/contents/

2017 अद्यतन (adrach): ऐसा लगता है कि कई चीजों को बदल दिया है क्योंकि यह पोस्ट किया गया था। यहां एक अद्यतन संस्करण है

 $("div").contents().filter(function(){ return this.nodeType == 3; }).first().replaceWith("change text"); 

कार्रवाई में देखें

मार्कअप:

 $(function() { $('input[type=button]').one('click', function() { var cache = $('#parent').children(); $('#parent').text('Altered Text').append(cache); }); }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div id="parent">Some text <div>Child1</div> <div>Child2</div> <div>Child3</div> <div>Child4</div> </div> <input type="button" value="alter text" /> 
 <div id="divtochange"> **text to change** <div>text that should not change</div> <div>text that should not change</div> </div> 
 $(document).ready(function() { $("#divtochange").contents().filter(function() { return this.nodeType == 3; }) .replaceWith("changed text"); }); 

यह केवल पहला पाठनोड बदलता है

बस उस पाठ को लपेटो जिसे आप चुनने के लिए कक्षा के साथ एक स्पैन में बदलना चाहते हैं

जरूरी नहीं कि आपके प्रश्न का मुझे पता है जवाब है, लेकिन, शायद एक बेहतर कोडिंग अभ्यास। चीजें साफ और सरल रखें

 <div id="header"> <span class="my-text">**text to change**</span> <div> text that should not change </div> <div> text that should not change </div> </div> 

देखा!

 $('#header .mytext').text('New text here') 

विशिष्ट मामले के लिए आपने उल्लेख किया है:

 <div id="foo"> **text to change** <someChild> text that should not change </someChild> <someChild> text that should not change </someChild> </div> 

… यह बहुत आसान है:

 var div = document.getElementById("foo"); div.firstChild.data = "New text"; 

आप यह नहीं बताते हैं कि आप इसे कैसे सामान्य बनाना चाहते हैं अगर, कहते हैं, आप <div> भीतर पहले पाठ नोड के पाठ को बदलना चाहते हैं, तो आप ऐसा कुछ कर सकते हैं:

 var child = div.firstChild; while (child) { if (child.nodeType == 3) { child.data = "New text"; break; } child = child.nextSibling; } 

यहां एक और तरीका है: http://jsfiddle.net/qYUBp/7/

एचटीएमएल

 <div id="header"> **text to change** <div> text that should not change </div> <div> text that should not change </div> </div> 

jQuery

 var tmp=$("#header>div").html(); $("#header").text("its thursday").append(tmp); 
 $.fn.textPreserveChildren = function(text) { return this.each(function() { return $(this).contents().filter(function() { return this.nodeType == 3; }).first().replaceWith(text); }) } setTimeout(function() { $('.target').textPreserveChildren('Modified'); }, 2000); 
 .blue { background: #77f; } .green { background: #7f7; } 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script> <div class="target blue">Outer text <div>Nested element</div> </div> <div class="target green">Another outer text <div>Another nested element</div> </div> 

मुझे लगता है कि आप .prependTo () के लिए देख रहे हैं।

http://api.jquery.com/prependTo/

हम पृष्ठ पर कोई तत्व भी चुन सकते हैं और इसे किसी दूसरे में डाल सकते हैं:

$ ( 'H2') prependTo ($ ( 'कंटेनर।'))।

अगर इस तरह से चयनित तत्व को कहीं और डाला जाता है, तो उसे लक्ष्य (क्लोन नहीं) में ले जाया जाएगा:

 <div class="container"> <h2>Greetings</h2> <div class="inner">Hello</div> <div class="inner">Goodbye</div> </div> 

यदि एक से अधिक लक्ष्य तत्व मौजूद हैं, तो पहले के बाद प्रत्येक लक्ष्य के लिए सम्मिलित तत्व की क्लोन की प्रतिलिपियां बनाई जाएंगी।

सरल जवाब:

 $("div").contents().filter(function(){ return this.nodeType == 3; })[0].nodeValue = "The text you want to replace with" 

मार्क के जवाब में समस्या यह है कि आपको खाली पठानों के रूप में भी मिलता है। JQuery प्लगइन के रूप में समाधान:

 $.fn.textnodes = function () { return this.contents().filter(function (i,n) { return n.nodeType == 3 && n.textContent.trim() !== ""; }); }; $("div").textnodes()[0] = "changed text"; 

यह एक पुराना सवाल है, लेकिन आप अपनी जिंदगी को आसान बनाने के लिए एक साधारण कार्य कर सकते हैं:

 $.fn.toText = function(str) { var cache = this.children(); this.text(str).append(cache); } 

उदाहरण:

 <div id="my-div"> **text to change** <p> text that should not change </p> <p> text that should not change </p> </div> 

उपयोग:

 $("#my-div").toText("helloworld"); 

बहुत सारे अच्छे उत्तर यहां दिए गए हैं लेकिन वे केवल बच्चों के साथ एक पाठ नोड को संभालते हैं। मेरे मामले में मुझे सभी पाठ नोडों पर काम करना चाहिए और एचटीएमएल बच्चों को नजरअंदाज करना चाहिए, लेकिन ऑर्डर देने का निवेदन करना चाहिए।

तो अगर हमारे पास ऐसा मामला है:

 <div id="parent"> Some text <div>Child1</div> <div>Child2</div> and some other text <div>Child3</div> <div>Child4</div> and here we are again </div>