Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >jQuery -在load()之后向元素添加功能

jQuery -在load()之后向元素添加功能
EN

Stack Overflow用户
提问于 2011-03-10 16:25:32
回答 2查看 7K关注 0票数 5

我有一些代码从另一个文件加载一些html,它的工作方式应该是这样的。但是我很难从这个新加载的数据中访问元素。

我有这样的代码:

代码语言:javascript
运行
AI代码解释
复制
var widgetSettings = $("<div>").addClass("widgetsettings").load('dashboard/chart-settings-form.php #editChartForm');
widgetSettings.appendTo(widget.element);
//so far so good...
widget.element.find('.date').each(function(i){
  $(this).datetimepicker(); //this doesn't work
  console.log('testing... '+$(this).attr('id')); //this doesn't even work...
});

我希望它能在从上面的url加载的'#editChartForm‘表单中找到这些文本框(它们在一个表中):

代码语言:javascript
运行
AI代码解释
复制
<input type="text" name="datefrom" id="datefrom" class="date" /> To: <input type="text" name="dateto" id="dateto" class="date" />

html肯定是在加载。我真的不明白为什么我不能从load()事件中访问任何元素。

我还想在同一个表单上的取消按钮上应用一个click函数,我发现唯一能让它工作的方法就是在加载之前把它放在一个'live‘函数中:

代码语言:javascript
运行
AI代码解释
复制
$('.cancel').live('click', function() {
  //actions here...
});

你知道是怎么回事吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-03-10 16:31:18

很简单!因为load()方法是异步的,并且您的行widget.element.find('.date')在DOM中实际存在匹配它的任何元素之前就被触发了!只需在load()中使用回调,如下所示:

代码语言:javascript
运行
AI代码解释
复制
$("<div>").addClass("widgetsettings").load('dashboard/chart-settings-form.php #editChartForm', function() {
  $('div.widgetsettings').find('.date').each(function(i){
    $(this).datetimepicker();
    console.log('testing... '+$(this).attr('id'));
  });
});
票数 8
EN

Stack Overflow用户

发布于 2011-03-10 16:34:16

代码语言:javascript
运行
AI代码解释
复制
$("div").load("url here",function(){
    callbacks();
});

function callbacks(){

//put everything that you want to run after the load in here.
//also if the click function is in here it wont need the .live call

}

编辑:在最新版本的jQuery中,你现在可以使用.on而不是.live (效率更高) ie。

代码语言:javascript
运行
AI代码解释
复制
$(".widgetsettings").on("click",".cancel",function(){
    //actions here
});

希望这能有所帮助:)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5262640

复制
相关文章
jQuery - 添加元素
jQuery append() 方法在被选元素的结尾插入内容(仍然在该元素的内部)。
陈不成i
2021/07/22
2.7K0
jQuery动态添加/删除元素及内容
添加新的 HTML 内容,四种方法:可根据上面的图片来区分四种方法插入元素的位置。
德顺
2019/11/12
7.2K0
jQuery之移除元素方法
里面包含任何数量的嵌套元素,他们也会被移走。 为了避免内存泄漏,jQuery先移除子元素的数据和事件处理函数,然后移除子元素
周杰伦本人
2023/10/12
2980
jQuery - AJAX load() 方法
下面的例子会把文件 "demo_test.txt" 的内容加载到指定的 <div> 元素中:
陈不成i
2021/07/22
1.5K0
cssjshtml jquery向动态生成的元素添加事件
delegate() 方法为指定的元素(属于被选元素的子元素)添加一个或多个事件处理程序,并规定当这些事件发生时运行的函数。
葫芦
2019/04/17
3.2K0
JavaScript 学习-37.jQuery 添加/删除/替换元素
前言 通过 jQuery,可以很容易地添加和删除元素。 添加元素 添加元素主要用到四个方法 append() - 在被选元素的结尾插入内容 prepend() - 在被选元素的开头插入内容 after() - 在被选元素之后插入内容 before() - 在被选元素之前插入内容 append() 方法在被选元素的结尾插入内容(作为该元素子元素插入) <div id="demo"> <p class="text-info">hello world</p> <input type="text"
上海-悠悠
2022/06/01
1.8K0
JavaScript 学习-37.jQuery 添加/删除/替换元素
JQuery干货篇之选择元素
实例 $("img:odd").css("border","thick double red");选择序号为奇数的img元素 $("img:first").css("border","thick double red") 选择第一个img元素
爱撒谎的男孩
2019/12/31
1.8K0
jQuery实现动态添加和删除(点击按钮添加在页面添加和删除元素)
1:点击添加按钮弹出弹框,form表单可以填写相关的信息 2:点击保存按钮,相关信息会显示在界面的列表里
王小婷
2019/02/26
7.4K0
封装数组之添加元素
在上一小节中,我们对数组进行了一个基本的封装,该小节中,我们在上一次基础上,新增往数组添加元素的方法:
wfaceboss
2019/04/08
1.1K0
jquery中load的用法
调用load方法的完整格式是:load( url, [data], [callback] ),其中
OECOM
2020/07/01
1.1K0
js算法之添加元素
思路: 用slice(0)做出一个新的数组,然后是从index开始截取0个,并且添加item到index的位置.
贵哥的编程之路
2021/03/25
4.3K0
Python之字典添加元素
0、好吧,还是直接上干货,向字典中添加元素,即Entry,Python用的很巧妙啊,当发现字典中并没有你要的key后,干脆帮你添加进去了
py3study
2020/01/03
4.8K0
Python之字典添加元素
说明:中括号指定key,赋值一个value,key不存在,则是添加元素(如果key已存在,则是修改key对应的value)
全栈程序员站长
2022/07/05
10.5K0
jquery在iframe中选中父元素节点
我们在使用如layui的layer弹窗或者在页面上用别的方式打开的iframe中可能会要获取到父页面的某个元素
阿超
2022/08/17
1.8K0
在链接前面自动添加favicon 图标(jquery)
相信你在一些网站上看过类似的东东,就是在一个可点击外链左侧,会有一个目标链接网站的favicon 图标。这一个小小的设置可能对提升用户体验有不少帮助,一些WordPress 站点也利用这个来做“友情链接”页面。 下面介绍一下实现的方法,只要是jquery 的运用+一个获取网站favicon 图标的接口(api)。 演示 首先还是给个demo 先:传送门 教程 先献上代码: html: <a href=http://Devework.com>Devework</a> <a href=http://www.
Jeff
2018/01/19
1.4K0
jQuery 元素操作
jQuery 元素操作主要讲的是用jQuery方法,操作标签的遍历、创建、添加、删除等操作。
星辰_大海
2020/10/09
2.7K0
jQuery 元素操作
jquery 元素尺寸
从上面的示例可以看到,使用width()和height()分别可以获取元素div的width和height的值。
Devops海洋的渔夫
2019/06/02
1.7K0
链表----在链表中添加元素详解
1.2对于链表来说,若想访问链表中每个节点则需要把链表的头存起来,假如链表的头节点为head,指向链表中第一个节点,如图:
wfaceboss
2019/04/08
2.8K0
链表----在链表中添加元素详解
jQuery 元素操作
jQuery 元素操作主要讲的是用jQuery方法,操作标签的遍历、创建、添加、删除等操作。
清出于兰
2020/10/26
1.4K0
jQuery 元素操作
jQuery 元素操作
​ jQuery 元素操作主要讲的是用jQuery方法,操作标签的遍历、创建、添加、删除等操作。
梨涡浅笑
2022/05/08
1.9K0

相似问题

jQuery在load事件之后向幻灯片中添加元素

13

在呈现后向元素添加类

22

在元素创建后向DOM元素添加值

13

单击元素后向元素添加类

18

使用jQuery在页面重定向后向列表元素添加类

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档