2010-12-05 44 views
7

Bu jquery kolay ama nasıl javascript hakkında basit?javascript html veya div gelen metin olsun

Bu kod, Google görsel arama API'sı içindir. Html veya tercihen bir div içindeki metinle eşleşen görüntüleri aramak istiyorum.

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

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

sonuç playstation görüntüleri olmalıdır

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

HTML. 123

alt text IE8 [nesne HTMLDivElement] yerine [

alt text Loving El

Ve diğer alakasız görüntüleri döndürür javascript - Bunun yerine, bu

1 dosic OIS olsun. Google'ın ne aradığını merak ediyorum. İkincisinin bana bir ipucu verdiğini düşünüyorum.

cevap

16

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

yapabileceğiniz tek metin ayıklamak için: Eğer içinde sadece metin istiyorsanız

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

THX! jquery gibi '.text()' gibi bir şey var mı? –

+0

Teşekkürler! Google API'sı jquery kullanmıyor çünkü ben sade js kullanmaya karar verdim. Tek bir senaryoda her şeyi yapardım. Sadece birkaç basit fonksiyona ihtiyacım var. –

+1

Hayır, bir DOM öğesinden metni ayıklamak için ayrıştırıcıya ihtiyacınız yoktur. Öğenin 'textContent' veya' innerText' özelliğini benim cevabımın başına kullanabilir veya DOM’a geçebilir ve karşılaşılan her metin düğümünden metni birleştirebilirsiniz. Bu o kadar da zor değil ve jQuery gerektirmiyor. –

2

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

eleman :)

+0

Thx! Aynı zamanda cevapladın galiba. Bonus sorusunu cevaplayan kişiye oy verir. Jquascriptte jquascript gibi bir şey var mı? –

+1

Üzgünüz, bu konuda çok emin değilim :) –

2

içeriğini çekecek bir öğe olarak, textContent'u daha standart uyumlu tarayıcılarda (IE değil) ve'te kullanabilirsiniz. IE'de 210. They're not identical in all cases ama sizin amaçlarınız için olabilir.

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

parlak! Teşekkürler! –