javascript – jQuery – 在load()之后向元素添加功能
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – jQuery – 在load()之后向元素添加功能,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1313字,纯文字阅读大概需要2分钟。
内容图文
![javascript – jQuery – 在load()之后向元素添加功能](/upload/InfoBanner/zyjiaocheng/807/5f476a8be2ef4052b584a8e149fff2a2.jpg)
我有一些代码从另一个文件中加载一些html,它可以正常工作.但我正在努力从这个新加载的数据中访问元素.
我有这个代码:
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’表单中找到这些文本框:
<input type="text" name="datefrom" id="datefrom" class="date" /> To: <input type="text" name="dateto" id="dateto" class="date" />
html肯定被加载了.真的很困惑为什么我无法访问load()事件中的任何元素.
我还想在同一个表单上的单击功能应用取消按钮,我发现使其工作的唯一方法是在加载前将其置于“实时”功能中:
$('.cancel').live('click', function() {
//actions here...
});
有什么想法发生了什么?
解决方法:
简单!因为load()方法是异步的,并且您的行widget.element.find(‘.date’)在之前触发,实际上DOM中的任何元素都匹配它!只需在load()中使用回调,如下所示:
$("<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'));
});
});
内容总结
以上是互联网集市为您收集整理的javascript – jQuery – 在load()之后向元素添加功能全部内容,希望文章能够帮你解决javascript – jQuery – 在load()之后向元素添加功能所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。