使用jQuery完全删除和替换Div内容

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用jQuery完全删除和替换Div内容相关的知识,希望对你有一定的参考价值。

我有一个问题,你能告诉我如何完全删除当前的div内容并使用jQuery替换为最新的内容吗?我尝试了replaceWith,Empty(),Remove(),html,这些都没有。

这是我的代码,我正在尝试做的是加载运行ajax响应中的内容所需的“js脚本”。它按照我的预期工作,但仅适用于第一组结果。例如:如果我第一次点击loademore按钮,它会加载一次所需的脚本。但如果我再次点击它,它会再次开始加载js脚本,而不会替换当前的一次。所以当我点击任何按钮时,它会继续运行2次。

$("#loadMore").on('click', function(e) {
  e.preventDefault();
  $.ajax({
    method: 'GET',
    url: baseUrl + 'ajaxcontroller/Load_Categories_To_View',
    success: function(data) {
      $('#searchResults').append(data);
      $('#scripts').empty();
      checkloadjscssfile(baseUrl + 'assets/js/comparison/jquery.comparison.js', 'js');
      checkloadjscssfile(baseUrl + 'assets/js/comparison/animatedModal.min.js', 'js');
      checkloadjscssfile(baseUrl + 'assets/js/comparison/comp.js', 'js');
      $('#loadingImage2').hide();
    },
    complete: function() {
      $('#loadingImage2').hide();
      $("#loadMore").show();
    },
    error: function(xhr, ajaxOptions, thrownError) {
      alert(thrownError);
    }
  });
});

function loadjscssfile(filename, filetype) {
  if (filetype == "js") { //if filename is a external javascript file
    var fileref = document.createElement('script');
    fileref.setAttribute("type", "text/javascript");
    fileref.setAttribute("src", filename);
    console.log(fileref);
    $('#scriptsLazy').remove();
    $('#scriptsLazy').replaceWith(fileref);
  } else if (filetype == "css") { //if filename is an external CSS file
    var fileref = document.createElement("link");
    fileref.setAttribute("rel", "stylesheet");
    fileref.setAttribute("type", "text/css");
    fileref.setAttribute("href", filename);
  }
  if (typeof fileref != "undefined") {
    document.getElementsByTagName("head")[0].appendChild(fileref);
  }
}

function checkloadjscssfile(filename, filetype) {
  if (filesadded.indexOf("[" + filename + "]") == -1) {
    loadjscssfile(filename, filetype);
    filesadded += "[" + filename + "]"; //List of files added in the form "[filename1],[filename2],etc"
  } else {
    loadjscssfile(filename, filetype);
    //$('#scripts').refresh();
    //alert('unsuc');
  }
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
答案

HTML:

<div class="program-wrapper">
    Hello there!
</div>

jQuery的:

$('.program-wrapper').text('new string');

它将用新的文本替换您之前的文本。

$('.program-wrapper').html('new html');

例如:$('.program-wrapper').html('<p> What are you doing? </p>');

它将用新的html替换以前的文本。

var ht = $('.program-wrapper').html();
var newHt = ht + '<p>What are you doing?</p>';
$('.program-wrapper').html(newHt);

这将在您之前的html末尾添加新的html。

var newHt = ht + '<p> What are you doing? </p>';
$('.program-wrapper').append(newHt);

这也允许您使用类名'program-wrapper'将新HTML附加到div的底部。

另一答案

“使用jQuery完全删除并替换Div内容”

只需删除html并再次分配应该工作正常

希望下面的快照有帮助

(function(){
  var x = true
  setInterval(function(){
    if(x){
      $('#xesloohc').html('')
    }else{
      $('#xesloohc').html('#GOD #XESLOOHC')
    }
    x=!x
  },3000)
})();
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="god">
  <div id="xesloohc">
    #GOD #XESLOOHC
  </div>
</div>
另一答案

在这里,我附加了一个链接,可以显示完全删除当前div内容的演示,并使用jQuery替换为最新内容。

Refer link to show the code and demo of it

以上是关于使用jQuery完全删除和替换Div内容的主要内容,如果未能解决你的问题,请参考以下文章

jquery给div添加下级元素

如何使用 JQuery 在不移动页面的情况下将 div 的整个视图替换为另一个 div

JQuery判断DIV中是不是包含图片标签

动态替换/生成 div 中的 HTML 内容 | .NET + jQuery

如何替换 div 的内容而不是使用 JQuery 附加一个值?

删除div中的内容 ,但是保留这个div 怎么办?求js方法!!!