2010-12-05 13 views
7

से पाठ इस सादे जावास्क्रिप्ट के बारे में jQuery में आसान है, लेकिन कैसे है?जावास्क्रिप्ट HTML प्राप्त करें या div

कोड Google छवि खोज एपीआई के लिए है। मैं उन छवियों को खोजना चाहता हूं जो एचटीएमएल से मेल खाते हैं या अधिमानतः एक div के अंदर पाठ।

var searchThis = document.getElementById('imgToFind'); //get HTML, or text from div 

// Find images 
imageSearch.execute(searchThis); //search image 

एचटीएमएल

<div id="imgToFind">PlayStation</div> 

परिणाम प्लेस्टेशन की छवियों होना चाहिए। 123

alt text IE8 जावास्क्रिप्ट [वस्तु HTMLDivElement] के बजाय [

alt text प्यार करने वाला हाथ

और अन्य अप्रासंगिक परिणाम लौटाती - इसके बजाय मैं इन

1 Dosic OIS मिलता है। मुझे आश्चर्य है कि Google क्या खोजता है .. सोचो कि दूसरा मुझे संकेत दे रहा है।

उत्तर

16

अपने var searchThis = document.getElementById('imgToFind').innerHTML;

केवल पाठ आप कर सकते हैं निकालने के लिए:

element = document.getElementById('imgToFind'); 
var searchThis = element.textContent || element.innerText; 
+1

THX! क्या jquery में '.text() 'जैसी चीज है? –

+0

धन्यवाद! मैंने सादे जेएस का उपयोग करने का फैसला किया क्योंकि Google एपीआई jquery का उपयोग नहीं करता है। सोचा कि मैं सब कुछ एक स्क्रिप्ट में करूँगा। मुझे बस कुछ सरल कार्यों की ज़रूरत है। –

+1

नहीं, आपको किसी DOM तत्व से टेक्स्ट निकालने के लिए एक पार्सर की आवश्यकता नहीं है। आप मेरे उत्तर के अनुसार तत्व की 'टेक्स्ट सामग्री' या 'आंतरिक टेक्स्ट' संपत्ति का उपयोग कर सकते हैं या प्रत्येक पाठ नोड से डीओएम और समामेलन पाठ को पार कर सकते हैं। यह मुश्किल नहीं है और jQuery की आवश्यकता नहीं है। –

2

var searchThis = document.getElementById('imgToFind').innerHTML;

तत्व :)

+0

Thx! ऐसा लगता है कि आपने एक ही समय में जवाब दिया था। बोनस प्रश्न का उत्तर देने वाले व्यक्ति को वोट देगा। जावास्क्रिप्ट में '.text() 'जैसी कोई चीज़ है जैसे jquery में है? –

+1

क्षमा करें, मैं उस ईमानदारी से इस बारे में भी निश्चित नहीं हूं :) –

2

की सामग्री को हड़पने जाएगा आप के भीतर केवल पाठ चाहते हैं एक तत्व, आप और अधिक मानकों अनुरूप ब्राउज़र में textContent (यानी नहीं आईई) औरउपयोग कर सकते हैं आईई में 210। They're not identical in all cases लेकिन आपके उद्देश्यों के लिए वे अच्छी तरह से हो सकते हैं।

var el = document.getElementById("foo"); 
var text = el.textContent || el.innerText; 
+0

शानदार! धन्यवाद! –

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