JQuery remove()无法在IE中运行?

时间:2016-03-16 03:20:25

标签: javascript jquery

我正在使用JQuery获取所有标签中的文本并将其添加到输入的占位符中。我故意单独留下<strong>文字。

我在Firefox和Chrome中运行良好,但在IE中,它在第一个标签的最后一步之前停止。我如何在IE中完成这项工作?

JQuery的:

$("li label").each(function() {
    var label = $(this);
    var placeholder = label.contents().get(0).nodeValue;
    label.closest("li").find("input").attr("placeholder", placeholder).val("").focus().blur();
    label.contents().get(0).remove();
  });

示例HTML:

  <li>
    <label for="field-1">My Label<strong>required</strong></label>
    <input id="field-1" type="text">
  </li>

1 个答案:

答案 0 :(得分:3)

.get(index)返回传递索引中元素的dom元素引用,因此label.contents().get(0).remove();调用dom元素的remove方法(仅在Edge上支持)

使用.eq()获取jQuery元素引用,然后调用remove()方法

label.contents().eq(0).remove();