JQuery remove() 在 IE 中不起作用?

use*_*665 0 javascript jquery

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

我在 Firefox 和 Chrome 中运行良好,但在 IE 中它在第一个标签的最后一步之前停止。我怎样才能在 IE 中做到这一点?

查询:

$("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();
  });
Run Code Online (Sandbox Code Playgroud)

示例 HTML:

  <li>
    <label for="field-1">My Label<strong>required</strong></label>
    <input id="field-1" type="text">
  </li>
Run Code Online (Sandbox Code Playgroud)

Aru*_*hny 5

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

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

label.contents().eq(0).remove();
Run Code Online (Sandbox Code Playgroud)