0

私はこのコード行を使用しています:

$("#middle_child").contents().filter(function(){return this.nodeType == Node.TEXT_NODE;}).text();

今のところ、これを console.log() に入れるだけです。テストにChromeを使用していますが、値は空の文字列として返されますが、値は「ミドルチャイルド」を返す必要があります。

これはHTMLです:

<div id='parent'>
  Parent
  <div id='oldest_child'>
    Oldest Child
    <div id='middle_child'>
      Middle Child
        <div id='youngest_child'>
          Youngest Child
        </div>
    </div>
  </div>
</div>

<div id='lone'>Lonely Div</div>

編集:私はjsfiddleを作成しようとしましたが、潜在的な洞察が得られました。フィドルでjQuery 1.6.4を選択しましたが、うまくいきました。私のサイトで実行している jQuery のバージョンは 1.6.2 です。それが私の問題の一部(すべてではないにしても)であるかどうか誰か知っていますか?

4

2 に答える 2

0

私は自分の問題を理解しました。

まず、嘘をつきました。何らかの理由で jQuery バージョン 1.9.1 を使用していますが、リンクでは 1.6.2 と表示されていますが、ファイルは 1.9.1 です。

さて、私の問題: スクリプトを $(document).ready() 内にラップするのを忘れていました。

于 2014-02-19T19:31:41.067 に答える