2009-10-29 22 views
15
<div class="boxen checkedzahlen" id="box41_0_1"> 
41 
<input type="checkbox" value="1" name="cb41_0_1" id="cb41_0_1" checked="checked"/> 
</div> 

कुछ इस तरह दिया जाता है, मैं कैसे पाठ 41, अगर $(this) (कक्षा boxen) क्लिक किया जाता है चेतन कर सकते हैं?jQuery के साथ भीतर पाठ का चयन करें

this > * काम नहीं करता है। न तो this:children करता है।

+0

आपको उस प्रश्न पर काम करने की आवश्यकता है। कृपया कुछ स्रोत कोड पोस्ट करें और गायब हिस्सों का वर्णन करें। इसके अलावा, jquery.com पर, ऐसी मूलभूत चीजों के उदाहरण हैं (यदि मैं आपको सही समझता हूं) –

+0

thx, लेकिन "JQuery" के घर से जानकारी नहीं मिली;) समस्या यह है कि आप एक टेक्स्ट कैसे चुनते हैं .. अंतिम डोम स्तर पर। यदि कोई अवधि होगी .. कोई समस्या नहीं है। । –

+0

$ ('। बंध') पर क्लिक करें (function() { अगर ($ (this) .hasClass ("हैलो")) { $ (this) .removeClass ("हैलो"); } else { । $ ("इस> *") चेतन ({ \t zindex: "10", \t fONTSIZE: "28px" }, 600) .animate ({ \t fONTSIZE: "9px", \t textAlign: "केंद्र ", \t zindex:" 0 " }); \t \t $ (this) .addClass (" हैलो ");} }); –

उत्तर

2

आदेश div का चयन करने में, आपको निम्न का प्रयोग करेंगे:

$('#box41_0_1') 

आदेश पूरे बॉक्स चेतन करने के लिए आपको

$('#box41_0_1').fadeOut().fadeIn(); 

या कुछ अन्य animation effect कर सकता है।

संपादित करें: आप केवल आंतरिक पाठ का चयन करना चाहते हैं, तो आप एक div साथ wrapping भीतरी पाठ की कोशिश कर सकते हैं, लेकिन कोड आपके द्वारा दी गई है, वह भी चेकबॉक्स मेरा मानना ​​है कि चयन करेंगे। कोड उदाहरण:

$('#box41_0_1').wrapInner("<span id='span41_0_1'></span>"); 
$('#span41_0_1').fadeOut().fadeIn(); 
+0

बॉक्स का चयन करने या इसे एनिमेट करने में समस्या नहीं है। समस्या है, बस "41" पर जेड-इंडेक्स प्राप्त करने के लिए। -> div के अंदर पाठ, अगर मैं पूरी चीज को एनिमेट करता हूं, तो सीमा की तरह चीजें भी नई ज़िन्डेक्स प्राप्त करती हैं। –

+0

यदि आप केवल जेड-इंडेक्स का चयन करना चाहते हैं, तो "41" में वही जेड-इंडेक्स होगा जो इसके मूल div के रूप में होगा। –

+0

समस्या है .. मैं सिर्फ zindex को संख्याओं पर सेट करना चाहता हूं .. बिना किसी स्पैन को मुद्रित किए .. –

5

$ ("# divID")। Html() टेक्स्ट को अंदर प्राप्त करेगा।

+0

$ ("# divID")। Html()। एनिमेट ({..। ? –

+1

इसे समझने और कई भ्रमित अधिभार और विधि नामों को समझने के 3 घंटे बाद, आपके उत्तर ने मुझे स्वच्छता बचाई। – IbrarMumtaz

0

आप एक अवधि में div की सामग्री को लपेट सकते हैं और फिर उस अवधि के बाहर इनपुट को स्थानांतरित कर सकते हैं। फिर आप अवधि को एनिमेट कर सकते हैं। कुछ इस तरह:

$('.boxen').each(function() { 
    var $thisBox = $(this); 
    $thisBox.wrapInner('<span></span>'); 
    $thisBox.find('input').appendTo($thisBox); 
}); 

$('.boxen span').animate({fontSize: '28px'}, 400); 

तुम भी मिश्रण और jQuery के साथ सीधे डोम पटकथा से मेल खाते हैं, तो जैसे हो सकते हैं:

$('.boxen').each(function() { 
    var newSpan = document.createElement('span'); 
    newSpan.innerHTML = this.firstChild.nodeValue; 
    this.firstChild.nodeValue = ''; 
    $(this).prepend(newSpan); 
}); 

$('.boxen span').animate({fontSize: '28px'}, 400); 

किसी भी तरह से काम करना चाहिए।

36

थोड़ा उलझन देने वाले शीर्षक के कारण, कुछ लोग (जैसे मेरे) इस प्रश्न पर आ रहे हैं कि टेक्स्ट सामग्री को DOM तत्व के कैसे प्राप्त करें। आप इसे पूरा कर सकते हैं:

$("#myselector").text() // returns the content of the element as plain text 
+0

बिल्कुल वही –

+0

नहीं मेरा मतलब है कि मुझे बिल्कुल वही महसूस हुआ 'थोड़ा भ्रमित शीर्षक के कारण' –

संबंधित मुद्दे