如何显示用AJAX动态生成的隐藏元素

How to show hidden element that is dynamically generated with AJAX?

本文关键字:动态 元素 隐藏 AJAX 何显示 显示      更新时间:2023-09-26

下面的图像元素位于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值以毫秒为单位测量。

请参见窗口。