2011-09-14 17 views
6

मेरे पास एक jquery फ़ंक्शन है जो एक jquery "text" फ़ंक्शन का उपयोग करके किसी तत्व के अंदर एक टेक्स्ट को बदलता है। इस टीडी तत्व के अंदर इस तरह का बच्चा "ए" टैग है।jQuery परिवर्तन बाल पाठ

<td class="v3"><a href="somelink">text to change</a>

पाठ बदलने td class द्वारा पहचाना जाता है करने के लिए। जब मैं पाठ बदलता हूं तो मैं लिंक खो देता हूं। सवाल यह है कि मैं बच्चे को स्पर्श किए बिना मूल तत्व का उपयोग करके पाठ कैसे बदलूं?

Thanx

उत्तर

9

यदि आपके पास:

<td class="v3"> 
    <a href="somelink">text to change</a> 
</td> 

फिर अपने समारोह में आप कुछ इस तरह होना चाहिए:

$("td.v3").children("a").text("new text"); 

हालांकि, यह सभी लिंक का चयन करेगा जो di हैं कक्षा के साथ टीडीएस बच्चों के rect .v3। एक प्रथम() के बाद बच्चों की मदद करनी चाहिए जोड़ा जा रहा है: यदि आप एक चयन मेनू में पाठ बदलना चाहते हैं

$("td.v3").children("a").first().text("new text"); 
+0

बच्चों से काम करता है तेजी से $ ("td.v3 एक"), क्योंकि पिछले उल्लेख चयन कड़ाके की धूप में जाने के लिए एक उम्मीदवार माना जाता है - http://www.myinkblog.com/2009/09/11/sizzle -ए-लुक-ऑन-jquerys-new-css-selector-engine/- जो चलाने के लिए कुछ अतिरिक्त एमएस ले जाएगा;) –

2

लपेटें एक span तत्व में पाठ, और सी अवधि में पाठ बदल जाते हैं।

<div id="foo"> 
    <span>bar</span> 
    <a href="#">link</a> 
</div> 

... 

$('#foo span').text('new text'); 

संपादित करें:

या $('td.v3 a').text("new text") उपयोग करते हैं, लंगर में पाठ बदलने के लिए करता है, तो यह है कि आप क्या करना चाहते हैं।

1

आप बस एक और तत्व का टेक्स्ट बदल देंगे।

<td> 
    <a href="#">Link</a> 
    <span>SomeText</span> 
</td> 

फिर तो जैसे आह्वान:

$('td').find('span').text('myNewText'); 
0

, आप एक विकल्प एक आईडी या वर्ग देकर ऐसा कर सकते हैं।

 $('selector').children('option[id=option_id]').text('new text'); 
संबंधित मुद्दे