1

下面是我的 HTML。我在<select>元素处,如何从页面上的下一个 span 元素中获取文本?我已经尝试了几件事,包括我的选择元素$( this ).nextAll( 'span:first' ).text();在哪里$( 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 元素不是您的选择元素的兄弟元素之一:

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

只是以防你的 html 结构发生变化并且.next()不是一个选项,我总是更喜欢去确定的父级(在这种情况下是列表项)

$(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 回答