1

以下は私のHTMLです。私は<select>要素にいますが、ページの次のスパン要素からテキストを取得するにはどうすればよいですか?$( this ).nextAll( 'span:first' ).text();select要素がどこにあるかなど、いくつかのことを試しました$( this )が、希望の結果が得られません。

<ul id="questions">
   <div>What do you want information about?</div>
   <li>
      <p>
         <select><!-- This is where I'm at. -->
            <option>Click to select...</option>
            <option data-next_select_name="foos">
               a foo
            </option>
            <option data-next_select_name="bars">
               a bar
            </option>
         </select>
      </p>
      <div>
         <a>
            <span>a foo</span><!-- I want the text out of this span. -->
            <div><b></b></div>
         </a>
         <div>
            <div><input type="text" /></div>
            <ul>
               <li>Click to select...</li>
               <li>
                  a foo
               </li>
               <li>
                  a bar
               </li>
            </ul>
         </div>
      </div>
      <p></p>
   </li>
</ul>
4

3 に答える 3

3

nextAll要素の次の兄弟を選択します。span要素はselect要素の兄弟の1つではありません。

$(this).parent().next().find('span:first').text()
于 2012-10-17T18:27:56.187 に答える
2

HTML構造が変更.next()されてオプションではない場合に備えて、私は常に最終的な親(この場合はlist-item)に移動することを好みます。

$(this).closest('li')
       .find('span').first().text();

ランダムサイドノート:.first()より高速です:first

于 2012-10-17T18:30:58.137 に答える
0
$( this ).parent().next().find('span:first').text()
于 2012-10-17T18:29:08.417 に答える