代码之家  ›  专栏  ›  技术社区  ›  speendo

jquery:IE7不会为相应的inputs div容器预先添加一个标签

  •  0
  • speendo  · 技术社区  · 15 年前

    我想确保我的表单结构如下:

    <form>
        <div>
          <label>
          <input>
        </div>
    <form>
    

    我使用jquery捕获标签,并在标签之间移动它 <div> <input> . 这在Firefox中运行良好,但IE在这方面存在问题。我怎样才能让它和IE一起运行?

    以下是导致IE6和IE7中出现错误的一行:

    var inputname = $(this).attr('name');
    $(this).parents('form').find('label[for='+inputname+']')
           .prependTo($(this).parent('div.slidebeyond-div'));
    

    1 回复  |  直到 15 年前
        1
  •  1
  •   danjarvis    15 年前

    问题:您如何验证元素未被移动?

    在FF中运行代码时 label 元素被移动到元素的正下方 div 您可以使用Firebug验证这一点。

    在IE中运行代码时,标签也会移动到正确的位置。如果你使用 视图源 要检查DOM,您只能在所有jQuery完成它的工作之前看到DOM。

    编辑 我还假设您提供的代码在以下范围内:

    $('input').each(function(){});

    推荐文章