使 jQuery 代码适用于动态添加的内容
make jquery code work for dynamically added content
这段代码适用于所有现有的 html 下拉列表,但如何使其也适用于动态添加的下拉列表
这是jquery代码
$(document).ready(function () {
$('select.select').each(function () {
var title = $(this).attr('title');
if ($('option:selected', this).val() != '') {
title = $('option:selected', this).text();
$(this)
.css({
'z-index': 10,
'opacity': 0,
'-khtml-appearance': 'none'
})
.after('<span class="select">' + title + '</span>')
.change(function () {
val = $('option:selected', this).text();
$(this).next().text(val);
})
}
});
});
$(document).ready(function () {
initDropDowns();
function initDropDowns(){
$('select.select').each(function () {
var title = $(this).attr('title');
if ($('option:selected', this).val() != '') {
title = $('option:selected', this).text();
$(this)
.css({
'z-index': 10,
'opacity': 0,
'-khtml-appearance': 'none'
})
.after('<span class="select">' + title + '</span>')
.change(function () {
val = $('option:selected', this).text();
$(this).next().text(val);
})
}
});
}
// on dropDowns add --> initDropDowns();
});
而不是 $(document).ready() 你需要使用 $(document).live()
.ready() 允许您注册一个在 DOM 准备就绪时触发的回调 - 这类似于使用 window.onload,但更早触发(您可以注册多个回调)。
.live() 允许您基于选择器注册对一系列事件的回调,选择器持续监控 DOM 并将自身注册到添加的新节点。
相关文章:
- 正在添加动态第二类Jquery
- 如何在javascript而不是jquery中添加动态列表
- 为图例添加动态色彩标签
- 如何在谷歌表单中添加动态字段
- 如何添加动态Id's并在运行时提取它们
- 在 JavaScript 中添加动态文本
- 如何添加动态表单元素但保留其值(JS)
- 使用AngularJs在自定义TinyMCE编辑器中添加动态数据
- 如何使用JavaScript添加动态HTML内容(DIV)
- javascript初学者:在javascript中添加动态样式
- 如何使用Javascript在html源中添加动态数据
- 向Uploadify添加动态字段
- 如何在 Vue.js 中添加动态组件/部件
- 锚导航与坚持到顶部菜单..需要向锚点添加动态偏移量
- Javascript:添加动态方法
- 向角度对象添加动态功能
- 添加动态文本框时更新动态高度
- JavaScript 运行时错误:无法在 Windows 8 应用中添加动态内容
- 添加动态点击事件
- 添加动态字段以创建特定的 JSON 格式