2013-07-30 16 views
11

Ben html olarak oluşturulur html sayfası var: 'Bütün cehennem' ne ben yapmak istiyorum Etiket metnini olsun ŞimdiEtiket metni değeri nasıl bir html sayfası oluşturur?

<div id = 'mViB'> 
<table id = 'myTable'> 
<tbody> 
<tr> ...</tr> 
<tr>...</tr> 
<tr> ...</tr> 
<tr>....</tr> 
<tr> 
<td> 
<label id="*spaM4" for="*zigField4"> 
All hell. 
<span class = 'msde32'></span> 
</label> 
</td> 
</tr> 
</tbody> 
</table> 
</div> 

etiketten.

Bu amaçla her ikisini de kullandım: document.getElementById('*spaM4').text ve document.getElementById('*spaM4').value, ancak tesadüfen bunların hiçbiri işe yaramadı.

document.getElementById('*spaM4').innerHTML'u kullandım ama bu span class'u da döndürdü, ancak yalnızca metni almak istiyorum.

Ne yazık ki, öğe kimliğindeki yıldız işaretleri üçüncü taraf kodudur ve değiştiremiyorum.

Etiket metni almak için başka bir yol önerebilir mi?

+2

document.getElementById ('spaM4'). InnerHTML; kaldır * id dan – PravinS

+2

Kimliklerde asterik kullanmayın, olur mu? –

+0

@DavidJashi: Kullanılabilirler, bu bir problem değil, kategorizasyon ve endeksleme için bazı zamanlar, yıldız işareti kullanılır. –

cevap

23

bu deneyin:

document.getElementById('*spaM4').textContent 

o zaman almak için .innerText

+0

'textContent' benim için iş yapar +1 ve kabul edilir. –

9

Bu düz JS istediğini elde edecek.

var el = document.getElementById('*spaM4'); 
text = (el.innerText || el.textContent); 

FIDDLE

+0

Beyaz alanı normalleştirmek için '/\s{2,}/g.replace(text, '')' ekleyebilirsiniz. – Tomalak

+1

Teşekkürler.'innerText' mozilla'da işe yaramadı, fakat 'textContent' yaptı. +1 –

+0

@ TheDarkKnight, harika. Mutlu, yararlı oldu. – Sergio

0
var lbltext = document.getElementById('*spaM4').innerHTML 
0

iyi şekilde kullanmak gerekir < IE9 hedef gerekiyorsa 01'den itibaren metin değeriöğesi aşağıdaki gibidir. <label for='phone'>Phone number</label> <input type='text' id='phone' placeholder='Mobile or landline numbers...'>

metin değeri ayıklamak olacak Bu kod 'Telefon numarası: aşağıdaki yapıyı varsayalım

function id(e){return document.getElementById(e)} 

: Eğer eleman kimlikleri elde edilecektir

sıklıkla kimlikleri dönmek için bir işlev sağlamak en iyisidir '' <label>: var text = id('phone').previousElementSibling.innerHTML;

Bu kod tüm tarayıcılarda çalışır ve her bir <label> öğesine benzersiz bir kimlik vermeniz gerekmez.

+0

Ayrıca, 'previousElementSibling.textContent'i Firefox dahil olmak üzere modern tarayıcılar olarak kullanabilirsiniz, bu biçimi tanıyın. – BlackMagic

İlgili konular