9

次の HTML コードでネストされた SPAN 要素からテキストを取得したい:

<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);

編集:実際にはオンラインページからこれをやりたい ここに画像の説明を入力 ここに画像の説明を入力

4

4 に答える 4

7

あなたのコードは正常に動作します。あなたの問題は、DOM が完全にロードされていないときにこれらのコードを実行していることだと思います。何かをテストしている場合は、これを試すことができます。

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

または、スパン要素の後にスクリプトを配置します。このような。

<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>
于 2012-12-24T08:01:35.027 に答える
2

クラス名で要素を取得document.getElementsByClassName()し、結果のノードリストから最初の項目を取得します

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

jsfiddle

于 2012-12-24T07:39:24.980 に答える
1

わかった、HTMLページにリンクを埋め込んでいると思いますが、埋め込んだページでDOMを操作したいと思いますよね?その場合は、ブラウザの同一オリジン ポリシーを確認できます。

Google を介してオンライン翻訳を実装したい場合は、「Google 翻訳 API」を Google で検索できます。Google は、独自のアプリケーションでオンライン翻訳を実装するための API を他のユーザーに提供しています。

bing も api を提供しているようです。よくわかりません。

于 2012-12-25T01:36:12.490 に答える
1
var resBox=document.getElementById('result_box');
var strTrans=document.getElementsByTagName('span')[0].innerText;
alert(strTrans);​

またはそれ以上

strTrans = document.querySelector(".hps").innerText ;
于 2012-12-24T07:39:28.433 に答える