javascript - 由 jQuery $.get(...) 加载的焦点元素

标签 javascript jquery ajax

我正在加载一个 html 片段,将其插入到某个元素之后,并希望使用 .focus 类来聚焦输入字段。此类中可能有多个元素。 Similar code with load(...) works .

  var item = $(this).closest(".something");
  $.get(
    url, 
    function(data) { 
      item.after(data);
      $(data).find(".focus").focus(); /* everything works except this line */
    }
  );

加载的html的相关部分:

<input type="text" class="focus" value="" name="email"/>

看起来(在调试器中)找到了要聚焦的元素,但它没有获得焦点。知道出了什么问题吗?

最佳答案

item.after(data)data 解析为一组 DOM 元素并将它们放入文档中。

$(data) 然后将 data 解析为另一组 DOM 元素,这些元素永远不会显示。

你想要

$(data).insertAfter(item).find(".focus").focus(); 

关于javascript - 由 jQuery $.get(...) 加载的焦点元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9692370/

相关文章:

php - 使用 AJAX 切换 Like 按钮颜色

jQuery:在实时 jQuery 中计算顶部

c# - 如何重定向到同一 Controller 的索引页面

javascript - 允许替换特定文本

javascript - 使用 css() 设置背景图像不起作用

javascript - 有没有办法过滤从 AJAX 查询创建的数组?

javascript - 断点 css 未应用于 React-jss 中的 Prop

javascript - html/CSS 文本对齐不起作用

javascript - 将 C# 变量值传递给代码隐藏类中生成的脚本中的 JavaScript 变量

javascript - 与一些简单的 Javascript 作斗争