Bunu denedim ama "tanımsız" gösteriyor.
function test() {
var t = document.getElementById('superman').value;
alert(t); }
Basit Javascript kullanarak değeri elde etmenin herhangi bir yolu var mı jQuery yok Lütfen!
Yanıtlar:
Muhtemelen textContentbunun yerine denemek isteyeceksiniz innerHTML.
Verilen innerHTML, DOM içeriğini Stringyalnızca div. divYalnızca metin içerdiğini, ancak her kullanım durumunda uygun olmadığını biliyorsanız sorun değil. Bu durumlar için, muhtemelen textContentyerine kullanmanız gerekecekinnerHTML
Örneğin, aşağıdaki biçimlendirmeyi göz önünde bulundurarak:
<div id="test">
Some <span class="foo">sample</span> text.
</div>
Aşağıdaki sonucu alacaksınız:
var node = document.getElementById('test'),
htmlContent = node.innerHTML,
// htmlContent = "Some <span class="foo">sample</span> text."
textContent = node.textContent;
// textContent = "Some sample text."
Daha fazla ayrıntı için MDN'ye bakın:
innerHTMLyalnızca soruda istenen metin içeriğini döndürmez. .textContent<IE9
Kullanabilir innerHTML(sonra HTML'den metin ayrıştırabilir) veya kullanabilirsiniz innerText.
let textContentWithHTMLTags = document.querySelector('div').innerHTML;
let textContent = document.querySelector('div').innerText;
console.log(textContentWithHTMLTags, textContent);
innerHTMLve IE6innerText dahil tüm tarayıcılar (FireFox <44 hariç) tarafından desteklenmektedir .
Aslında hesabınıza document.getElementById()erişmek için işlevi aramanıza gerek yok div.
Bunu objectdoğrudan şu şekilde kullanabilirsiniz id:
text = test.textContent || test.innerText;
alert(text);
.textContentIE8 ve daha düşük sürümlerde desteklenmediği için kullanımı biraz zorlaştırır.