如何显示用AJAX动态生成的隐藏元素
How to show hidden element that is dynamically generated with AJAX?
下面的图像元素位于AJAX脚本中。这个图像是隐藏的,只有在ajax被触发后才会生成,所以当我使用JQuery来显示它时,它不起作用,因为元素还不存在。
有一个布尔变量叫做isTouchScreen
。我试图显示这个元素,如果isTouchScreen
的值是true
。
我是新的Javascript,我有一个非常困难的时间显示隐藏的元素,由于它是动态生成的。有人能帮我解决这个问题吗?提前感谢。
What I tried:
if(isTouchScreen===true){
$('.add-item').show();
}
使用AJAX动态生成的图像元素:
<img class="add-item" style="display:none" src="add-item.png">
尝试将条件放入AJAX回调中:
$.ajax({
...
success: function() { // This runs if the request was succesful
var $img = $('<img class="add-item" src="add-item.png">');
$('yourContainer').append( $img.hide() ); // append and hide by default
if ( isTouchScreen ) { // true is truthy, no need to compare
$('.add-item').hide();
}
}
})
我在过去遇到过类似的问题,我通过在试图调用动态引入DOM的元素上的方法之前引入一个短延迟来解决。
也许这样做会有帮助:
if (isTouchScreen===true) {
setTimeout(function() {
$('.add-item').show();
}, 500);
}
其中500
值以毫秒为单位测量。
请参见窗口。
相关文章:
- 点击功能没有'ajax调用动态元素(Backbone)后无法工作
- 将动态元素绑定到函数;只剩下一个绑定
- 关于动态元素中循环中的事件
- 对动态元素使用.on()和e.stopPropagation()
- 只删除javascript中的1个动态元素
- 删除在加载dom之后创建的动态元素
- 从服务器和/或客户端加载动态元素的典型技术是什么
- IE7/8中的jQuery动态元素错误
- Jquery动态元素选择器
- AnguarJS$编译的动态元素
- 使用jQuery使动态元素可选择
- jquery在动态元素上调用日期选择器
- 如果在transclusion之后添加,为什么指令下的动态元素具有错误的作用域
- 如何使用jQuery唯一地识别具有相同id的类似动态元素
- 将单击处理程序绑定到动态元素
- 为动态元素附加事件处理程序
- 使用 jQuery 创建动态元素 单击事件始终返回 for 循环中的最后一个索引
- jQuery中的目标动态元素
- 将动态元素/行添加到 Angularjs 中的多维 Json 数组中
- Jquery 单击函数不适用于动态元素