javascript - 使用 jQuery prev() 和 next() 查找正确的 SPAN 标记

标签 javascript jquery html

嘿,我需要以下 html 代码来获取 “提供最好的微笑” 的值,这似乎是 6 prev()2 Next ()

<div id="eea305a4-32b2-434d-8623-4dc3e2fcf119F_SelectMany" class="lfFormField
     lfFormFieldSelectMany  F_Form1-P_NewPage-F_SelectMany">
  <div class="">
    <fieldset class="composite-field-fieldset">
      <legend class="no-form-field-mandatory-sign-css">
        <span id="F_SelectMany-required"
              class="form-field-mandatory-sign-css lfFormFieldRequiredMarker no-form-field-mandatory-sign-css">*</span>
        <span class="form-field-title-sign-css lfFormLabel">deliver best smile</span>
      </legend>
      <div style="padding=left:0.1em" 
           dojoattachevent="onmouseover:onMouseOver, onclick:onClick, onmouseout:onMouseOut" 
           class="dojoDndHandle freedom-base-mixin-css" 
           id="eea305a4-32b2-434d-8623-4dc3e2fcf119F_SelectMany-widget" 
           widgetid="eea305a4-32b2-434d-8623-4dc3e2fcf119F_SelectMany-widget">
        <ul id="e2b7488e-a88c-4da0-8287-4f8e4e6091f4tbl" 
            dojoattachpoint="containerNode,focusNode" 
            class="selection-group">
          <li dojoattachpoint="listItem" 
              class="vertical-selection-group-item" 
              id="freedom_widget_solution_form_FreedomOptionButton_0" 
              value="0" type="checkbox"
              widgetid="freedom_widget_solution_form_FreedomOptionButton_0">
            <div class="selection-group-item-container notDojoDndHandle">
              <span dojoattachevent="onmouseover:onMouseOver, onclick:onClick, onmouseout:onMouseOut" 
                    class="selection-group-item-input dijitInline freedom-base-mixin-css freedom-base-mixin-cssChecked dijitChecked" 
                    widgetid="2ff949f4-c88e-4769-8e36-23c81661af92-btn">
                <input dojoattachpoint="textbox,focusNode,_aroundNode" 
                       id="2ff949f4-c88e-4769-8e36-23c81661af92-btn" 
                       class="dijitReset dijitCheckBox notDojoDndHandle" 
                       type="checkbox" tabindex="0" 
                       dojoattachevent="onclick:_onClick" 
                       role="checkbox" aria-checked="true" 
                       name="group_eea305a4-32b2-434d-8623-4dc3e2fcf119F_SelectMany-widget" 
                       value="Achieve and maintain quality" 
                       style="-webkit-user-select: none;">    
              </span>
              <div class="selection-group-item-text-container dijitInline">
                <label dojoattachpoint="titleNode" 
                       for="2ff949f4-c88e-4769-8e36-23c81661af92-btn" 
                       class="selection-group-item-text bold-selection-group-item">Achieve and maintain quality</label>
              </div>
            </div>
          </li>

我当时的立场是从输入标签中实现并保持质量值。

目前我尝试了以下方法:

if ($(this).is(":checked")) {
   var testing = $(this).prev().prev().prev().prev().prev().prev().next().next().html();
   console.log(testing);
   loop++;
}

var 测试是我试图从中获取该值的方法,但它出现了“未定义”,所以我猜我没有停在正确的位置?

任何帮助都会很棒!

最佳答案

您可以尝试遍历到父容器,然后按该元素的类查找该元素。

例如:

通过id遍历到父级:

$(this).closest('#eea305a4-32b2-434d-8623-4dc3e2fcf119F_SelectMany').find('.form-field-title-sign-css');

按类遍历到父级:

$(this).closest('.lfFormField').find('.form-field-title-sign-css');

或者通过 HTML 元素遍历到父元素:

$(this).closest('fieldset').find('.form-field-title-sign-css');

要获取该值,在这种情况下,您可能需要执行 .text() 而不是 .html()。当然,除非您确实想要所有 HTML。

最后,如果此 ID F_SelectMany-required 不是随机的。你可以这样做。这应该有助于它更具体一些。

$(this).closest('.lfFormField').find('#F_SelectMany-required').children('.form-field-title-sign-css');

关于javascript - 使用 jQuery prev() 和 next() 查找正确的 SPAN 标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29927958/

相关文章:

javascript - AngularJS:数据格式化的推荐做法是什么?

jQuery:如果复选框被选中,toggleClass

html - 导航栏垂直对齐不起作用

html - 如何让一个div包罗万象

php - 灯箱动态内容不起作用

javascript - ruby on rails 显示登陆页面不同于本地主机和 html 文件

javascript - 无法将 Duo Web SDK 与 Angular 应用程序集成

javascript - Bootstrap 3按钮组,试图获取点击了哪个按钮的值

javascript - 未注入(inject)模拟服务,但正在注入(inject)实际服务

javascript - 在两个时间段之间禁用提交按钮