【问题标题】:How to extract the "href" attribute value from within the closest list item如何从最近的列表项中提取“href”属性值
【发布时间】:2015-04-07 10:55:05
【问题描述】:

我的网站有一列复选框,其 ID 按顺序排列,例如“keepbox1”、“keepbox2”等。每个复选框都位于一个列表项中,还有一个 href 属性,如下所示:

<li>
   <a href="http://iNeedThisUrl.com" class="describer">Title</a>
   <br>
   <input id="keepbox1" type="checkbox" class="kboxes" name="keepbox1"  />
   <label for="keepbox1">Keep</label>
   <div class="tinybox" alt="tinypic1" id="tinypic1" style="display:none;">  
      Content Here
   </div>
   </a>     
</li>

页面上还有一个元素我用作按钮

<a><label class="getFiles" for="lightbox-two">Submit</label></a>

当用户单击此按钮时,我有一个脚本循环遍历keepbox 的每个变体,以查看用户是否检查过它。如果选中了特定的keepbox ,我想提取该特定li 中的href 属性值。

因此,如果用户从上面的演示代码中检查了keepbox1,我希望它能够提醒回“http://iNeedThisUrl.com”。

我正在使用以下脚本成功识别已选中的保留框,但它在警报框中返回“未定义”。我猜我没有正确抓住这个属性。有任何想法吗?谢谢!

 <script type="text/javascript">
        $(document).ready(function() {
            $('.getFiles').click(function() {
                for (i = 1; i <= 100; i++) 
                  {
                    if ($("#keepbox" + i).prop('checked')) 
                     {
               var addressValue = $("#tinypic" + i).closest("li").attr("href");
               alert(addressValue);
                     }
                   }
            }); 
        });
    </script>

【问题讨论】:

    标签: javascript jquery html checkbox href


    【解决方案1】:

    两个问题:

    1) 你有结束锚标签&lt;/a&gt; 没有打开锚标签作为 li 中 div 的下一个兄弟。你需要删除它。

    2) div 元素#tinypic+n 是锚元素的兄弟。你需要使用:

    $("#tinypic" + i).siblings("a").attr("href");
    

    或

    $("#tinypic" + i).prevAll("a").attr("href");
    

    或

    $("#tinypic" + i).closest("li").find("a").attr("href");
    

    【讨论】:

    • 谢谢!出于某种原因,您的前两个解决方案不起作用,但第三个解决方案起作用。
    • 第三种解决方案是否不如其他两种解决方案?在跨浏览器和跨平台兼容性方面?如果没有,我会坚持下去。
    【解决方案2】:
    $(".kboxes").each(function(){
     if ($(this).prop('checked')) {
      var addressValue = $(this).closest("a").attr("href");
      alert(addressValue);
      return false;
     }
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-09-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-11
      • 2023-01-23
      • 1970-01-01
      • 2015-05-20
      • 1970-01-01
      相关资源
      最近更新 更多