如何获取下一个span元素的文本?

时间:2012-10-17 18:25:21

标签: javascript jquery

下面是我的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>

3 个答案:

答案 0 :(得分:3)

nextAll选择元素的下一个兄弟元素,span元素不是selected元素的兄弟元素之一:

$(this).parent().next().find('span:first').text()

答案 1 :(得分:2)

只是改变你的html结构变化而.next()不是一个选项,我总是喜欢去确定的父级(在这种情况下是list-item)

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

随机附注:.first():first

答案 2 :(得分:0)

$( this ).parent().next().find('span:first').text()