2012-12-24 50 views
4

我想從嵌套SPAN元素的文字在下面的HTML代碼:如何獲取嵌套跨度HTML元素的文本?

<span id='result_box'> 
<span class="hps">text_content</span> 
</span> 

我想用JavaScript來獲取「TEXT_CONTENT」值。

我都試過,但有一個問題:

var resBox=document.getElementById('result_box'); 
var strTrans=resBox.getElementsByTagName('span')[0].innerHTML; 
alert(strTrans); 

編輯:其實我想從網絡上的網頁做 enter image description here enter image description here

+0

你的錯誤是什麼?代碼在這個jsfiddle中工作正常:http://jsfiddle.net/Ralt/TrR62/ –

+0

沒有顯示,但最後警報沒有顯示。 – Ganesh

回答

2

你通過類名.. document.getElementsByClassName()再元素抓取所得節點列表中的第一個項目

window.onload = function() { 
    document.getElementsByClassName("hps")[0].innerHTML 
};  

jsfiddle

1
var resBox=document.getElementById('result_box'); 
var strTrans=document.getElementsByTagName('span')[0].innerText; 
alert(strTrans);​ 

或更好

strTrans = document.querySelector(".hps").innerText ; 
6

你的代碼工作正常。我想你的問題是你在執行這些代碼時,DOM沒有完全加載。如果你正在測試的東西,你可以試試這個。

window.onload = function() { 
    //put your code here,it will alert when page loaded completely. 
}; 

或將腳本放在span元素之後。喜歡這個。

<span id='result_box'> 
    <span class="hps">text_content</span> 
</span> 
<script type='text/javascript'> 
    var resBox=document.getElementById('result_box'); 
    var strTrans=resBox.getElementsByTagName('span')[0].innerHTML; 
    alert(strTrans);// it will alert 
</script> 
+0

** + 1 **優秀的答案。除了chris寫的內容外,請注意,如果你的'嵌套span'是動態創建的*,它可能還沒有被使用。 – arttronics

1

得到了你,我想你嵌入在HTML頁面中的鏈接,那麼你要操作DOM在你嵌入網頁,對不對?如果是這樣,你可以檢查瀏覽器相同的來源策略。

如果你想通過谷歌實現在線翻譯,你可以谷歌'谷歌翻譯API',谷歌提供了一個API的實施在他們自己的應用程序的在線翻譯。

它看起來像bing也提供api.i'm不知道。