2009-07-14 13 views
5

मैं एक समारोहमैं एक मौजूदा तत्व

function toggleSelectCancels(e) { 
     var checkBox = e.target; 
     var cancelThis = checkBox.checked; 

     var tableRow = checkBox.parentNode.parentNode; 

} 

कैसे मैं एक jQuery उद्देश्य यह है कि tableRow शामिल प्राप्त कर सकते हैं से एक jQuery वस्तु मिल सकता है आम तौर पर मैं $("#" + tableRow.id) जाना होगा, समस्या यहाँ tableRow के लिए आईडी है इस तरह कुछ "x:1280880471.17:adr:2:key:[95]:tag:"। यह एक अवरोध नियंत्रण द्वारा स्वत: उत्पन्न किया जाता है। जब आईडी इस तरह है तो jQuery getElementById प्रतीत नहीं होता है। मानक डोम document.getElementById("x:1280880471.17:adr:2:key:[95]:tag:") हालांकि सही पंक्ति तत्व लौटाता है।

वैसे भी, क्या एक डोमेन तत्व से jQuery ऑब्जेक्ट प्राप्त करने का कोई तरीका है?

धन्यवाद, ~ सैन डिएगो में सी.के.

उत्तर

13
बिल्कुल

,

$(tableRow) 

http://docs.jquery.com/Core/jQuery#elements

+0

सभी को धन्यवाद। यह निश्चित रूप से पूरी तरह से काम करता है। मिठाई!!!! – Hcabnettek

+0

मैन मैं jQuery प्यार करता हूँ! नोट - इसे डोम नोड के विपरीत एक डोम एलिमेंट होना चाहिए। लिंक के लिए –

2

आप jQuery समारोह डोम तत्वों पर कॉल कर सकते हैं:

var tableRowJquery = $(checkBox).closest('tr'); 
: $(tableRow)

तुम भी jQuery के closest विधि इस मामले में उपयोग कर सकते हैं

यदि आप अपनी आईडी का उपयोग करना चाहते हैं, kgiannakakis (नीचे), escape characters with special meaning in a jQuery selector पर एक उत्कृष्ट लिंक प्रदान किया गया है।

2

jQuery डोम तत्वों ले जा सकते हैं, की कोशिश के साथ:

$(tableRow) 

या

$(checkBox.parentNode.parentNode) 
0

कोशिश:

var r = $(document.getElementById("XXXX----ID Of Your Row----XXXX")); 

अब, अगर document.getElementById अपरिभाषित वापस नहीं करता आप किसी भी नियमित आर jQuery वस्तु के रूप में उपयोग कर सकते हैं।

2

आप सीधे में, इस प्रकार का तत्व पारित करने के लिए सक्षम होना चाहिए:

$(tableRow)... 

मैं एक div के लिए एक संदर्भ बनाने, तो यह सीधे jQuery में पास करके यह परीक्षण किया है और इसके लिए jQuery वस्तु बनाता है आप।

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