使用jQuery更改html的正文

Changing the body of html with jQuery

本文关键字:正文 html 更改 jQuery 使用      更新时间:2023-09-26

我正在进行一个Ajax调用,它返回html主体。我试图通过以下代码更改子元素的html:

(function inbox() {
    $.ajax({
        url: 'http://localhost:5958/myaccount/inbox/',
        success: function (data) {
            var x = $(data).find("#refresh")[0];
            $(x).html("f");
            console.log($(x).html())
            //console.log($(data).find("#refresh")[0]);
        }
    });
});

如何更改元素"刷新"的主体?我是jQuery的初学者,我被困在这里了。任何帮助都将不胜感激。

请尝试以下代码

success: function (data) {
$("#refresh").html(data); }

success: function (data) {
$('body').find("#refresh").html(data);}

您只需要

success: function (data) {
    $("#refresh").html(data);
}

此代码将更改元素,并使用返回的数据刷新id

关于您的代码让我解释一下您代码中的一些内容

$(data).find("#refresh")[0]; // I really don't know why you use [0] here

这意味着用元素返回的html数据具有id刷新。。所以数据看起来像

<div>
   <div></div>
   <div id="refresh">
       refresh data here
   </div>
</div>

所以你的代码成功

var x = $(data).find("#refresh");

x将返回一个对象

x = '<div id="refresh">refresh data here</div>';

然后你使用

$(x).html("f");

这意味着你再次将x更改为

x = '<div id="refresh">f</div>';

所以在你使用之后

console.log($(x).html());

它将返回f,这是正确的

但是你所有的代码还没有附加到你的html页面上,所以你应该使用

$("body").html(x); // this will change body html to f

在正文中像<div id="result"></div> 一样制作一个空白div

然后在ajax的成功:

success : function(data){

      value = data.value; // get whatever value you want from data
      $("#result").html(value);
      }