2010-03-11 12 views
6

पर jQuery तत्व चयन को कैसे लागू करें मेरे पास स्ट्रिंग var में निकाले गए कुछ HTML हैं, और फिर उस स्ट्रिंग पर jQuery तत्व चयन का उपयोग करना चाहते हैं। क्या यह संभव है?एक स्ट्रिंग वेरिएबल

उदाहरण के लिए:

HTML:

<div class=message> 
    This is a message. Click <a class=link id=link1 href=example.com>here</a> 
</div> 

jQuery:

$('div.message').each(function(i, item) { 
    myHtml = $(this).html(); 
    //select <a> tag attributes here 
)}; 

तो इस उदाहरण में, मैं id और href<a> टैग से निकालना चाहते हैंमें 0।

धन्यवाद

उत्तर

10

क्या कर सकते हैं अगर मैं सही ढंग से समझ, आप एक स्ट्रिंग चर में एचटीएमएल कोड है, और है कि भीतर क्वेरी करना चाहते हैं पर कार्रवाई करने की जरूरत है?

// Suppose you have your HTML in a variable str 
var str = '<div class="message">This is a message. Click ' 
     + '<a class="link" id="link1" href="example.com">here</a></div>​​​​​​​​​​​​​​​'; 

// You query the DOM fragment created by passing the string to jQuery function. 
// $(<string>) - creates a DOM fragment (string must contain HTML) 
var anchor = $('a', $(str)); 

// Then you can retrieve individual properties and/or contents: 
var id = anchor.attr('id'); 
var href = anchor.attr('href'); 
var text = anchor.text(); 
+0

यह आशाजनक लग रहा है। मुझे इसे एक मौका और देना होगा। – user191688

+0

+1 - एकमात्र उत्तर जो प्रश्न पर लागू होता है। –

+0

@ निक क्रेवर, यह मेरी प्रतिक्रिया से अलग कैसे है। चयनकर्ता के अलावा। मैं समझने की कोशिश कर रहा हूँ। धन्यवाद –

0

आप की तरह कुछ कर सकता है:

var aID = $('div.message a.link').attr('id'); 
var aHREF = $('div.message a.link').attr('href'); 
+0

@durilai हाँ, मैं ऐसा कर सकता हूं लेकिन यह इस स्थिति में इष्टतम नहीं है। – user191688

+0

क्यों? यह वह प्राप्त करता है जिसे आप ढूंढ रहे हैं। –

+1

@uku यह सबसे अच्छा तरीका है ... – Joberror

0

वहाँ एक jQuery प्लगइन (here) आप एक XML डोम के रूप में एक स्ट्रिंग पार्स करने में उपयोग कर सकते हैं और फिर इसे क्वेरी करने के लिए jQuery का उपयोग करें। इसे एक्सएमएल होना चाहिए, न कि "आराम से" प्रकार का एक्सएमएल जिसे आप कभी-कभी एचटीएमएल में देखते हैं, हालांकि (यानी आपको अपने गुण मानों के चारों ओर उद्धरण चाहिए)।

0

आप अपने ढांचे के भीतर एक से अधिक आइटम आप इस

$('div.message').each(function(i, item) { 
    // find desendant of the item using "find" 
    var alink = $(this).find('a.link'); 
    // Process the item 
    var id = alink.attr('id'); 
    var href = alink.attr('href'); 
)}; 
+0

विधि ढूंढें पुनरावर्ती है और इसका उपयोग तब तक नहीं किया जाएगा जब तक आपको आवश्यकता न हो। –

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