获取 AJAX 请求中最后一个 div 的值

     2023-02-19     254

关键词:

【中文标题】获取 AJAX 请求中最后一个 div 的值【英文标题】:Getting the value of last div in AJAX request 【发布时间】:2016-08-27 06:53:59 【问题描述】:

我正在构建一个小型聊天应用程序来学习一些关于 jquery 和 AJAX 的知识。 这一切都很好,但目前,聊天框正在使用以下代码每隔一段时间抓取 log.html 的 HTML:

function loadLog()     
          $.ajax(
            url: "log.html",
            cache: false,
            success: function(html)    
                $(".chatbox").html(html); //Insert chat log into the #chatbox div
              ,
        );
    

现在,如果用户试图复制一行,它就会出错,因为 html 每隔几秒就会刷新一次。 所以我想建立一个检查,记住最后一条已知消息并将其与日志中的最后一条消息进行比较。如果它们不匹配(出现了一条新消息),只有这样浏览器才会刷新聊天框中的 html。

我对 AJAX 和 Jquery 还很陌生,所以我想问你们以下问题: 比较 log.html 中的最后一条消息和聊天框 div 中的最后一个 div 的最佳方法是什么?

我的理论是

success: function(html)    
            $(html).find(last(div));
          ,

但我不完全知道如何获取最后一个 div 的值。

我希望我能很好地解释这个问题。 另外,欢迎任何想法:)

附:这是 log.html 中一行的示例

<div class='msgln'>(4:40 PM) <b>Jeroen</b>: Welcome<br></div>

【问题讨论】:

【参考方案1】:

你可以使用

  $last_div = $(html).find("div").last();
  text = $last_div.text();

供参考 见https://api.jquery.com/last/

【讨论】:

【参考方案2】:

你可以:

a) 将检索到的数据保存到全局变量中 - 请参阅 here

b) 将检索到的数据持久保存到 HTML5 本地存储 - 请参阅 here

然后与全局变量或本地存储进行比较,如果是新数据则覆盖它。

这比每次调用 ajax 时都查找数据要好。

【讨论】:

您能解释一下哪种方式更好吗?是性能更好还是易用性更好? @Alterlai 在性能方面更好。由于数据已存储且随时可用,因此无需通过 DOM 搜索即可找到它。特别是因为您计划每隔几秒钟执行一次搜索。如果同时发生其他进程(例如播放 GIF),则可能会给浏览器带来压力并产生可见的副作用,例如瞬间冻结或抖动动画。 好的,谢谢你的解释,我试试看!【参考方案3】:

你可以关注这个

<div id=container>
    <div id=box1></div>
    <div id=box2></div>
    <div id=box3></div>
    <div id=box4></div>
    <div id=box5></div>
    <div id=box6></div>
</div>

jQuery 代码

$(document).ready(function()
   $('#container').children().last().attr('id');
);

【讨论】:

【参考方案4】:

这样使用:

success: function(html)
  $(html).find(".msgln").last();
,

如果这不起作用,那么您可以制作一个假元素并访问最后一项:

success: function(html)
  $("<div />", 
    html: html
  ).find(".msgln").last();
,

【讨论】:

如何从 ajax 请求中获取数据以显示在 div 中?

】如何从ajax请求中获取数据以显示在div中?【英文标题】:HowcanIgetthedatafromanajaxrequesttoappearinsideadiv?【发布时间】:2012-11-2204:23:01【问题描述】:我无法从我的ajax请求中获取data以显示在&lt;divclass="l_p_i_c_w"&gt;&lt;/... 查看详情

如何在一个循环执行ajax方法里面嵌套的ajax方法

...jax(success:function());,);大体是这样的,第一个ajax请求一次获取了一个数组,循环这个数组,执行第二个ajax,第二个ajaxpost请求的值是第一个ajax获取的数组循环得来的。我这样写,发现第二个ajax只执行了一次,不是for循环一次就... 查看详情

来自 for 循环内的 AJAX 链中最后一个 AJAX 请求的返回值

】来自for循环内的AJAX链中最后一个AJAX请求的返回值【英文标题】:ReturnvaluefromlastAJAXrequestinAJAXchainthatisinsideaforloop【发布时间】:2016-07-0615:32:00【问题描述】:我有一个for循环,并且在一次迭代中(某事)我需要发出四个AJAX请... 查看详情

发出 GET 请求并在 AJAX、php 中发送最后日期

...:00【问题描述】:所以我从我的服务器发出了一些数据的获取请求。现在我正在尝试发出GET请求并从我的服务器获取最新数据。我需要在某个地方保存最新获取请求的最新日期。有人可以帮我吗?【问题讨论】:好吧,我只想将... 查看详情

使用ajax根据选择值获取div的数据

】使用ajax根据选择值获取div的数据【英文标题】:Getdatafordivbasedonselectvaluewithajax【发布时间】:2022-01-2113:20:54【问题描述】:我目前无法根据从下拉列表中选择的值在同一页面上获取div的数据。我有一个下拉菜单,用户可以在... 查看详情

$.ajax()请求的返回的值怎样输出在一个div里???

参考技术A以下代码通过ajax实现在一个web页面点击不同的链接,然后将返回的结果显示在该页面固定的div里。<html><head><metacharset="UTF-8"><title>Inserttitlehere</title><scriptlanguage="javascript">varhttp_r... 查看详情

如何根据数组中的下一个/最后一个值更改 div id 的值

】如何根据数组中的下一个/最后一个值更改divid的值【英文标题】:Howtochangethevalueofdividbasedonnext/lastvalueinarray【发布时间】:2021-10-0911:17:35【问题描述】:现在我对jquery了解的很少,我只是触及了表面,所以请耐心等待我尝试解... 查看详情

改造获取多个请求的最后一个请求

】改造获取多个请求的最后一个请求【英文标题】:Retrofitgetthelastrequestofmultiplerequests【发布时间】:2018-02-1603:45:48【问题描述】:我有一个包含项目的回收站视图。当我单击一个项目时,我进行api调用以获取一些数据以将其附... 查看详情

java示例代码_获取JTable中最后一个单元格的值

java示例代码_获取JTable中最后一个单元格的值 查看详情

Django:在 AJAX 请求后加载模板

】Django:在AJAX请求后加载模板【英文标题】:Django:loadtemplateafterAJAXrequest【发布时间】:2017-03-1807:43:08【问题描述】:我正在使用Django模板,在一个特定的模板中,我正在加载几个div,其中包含执行两个AJAX请求的内容以加快速... 查看详情

laravel 8 没有从 ajax 请求中获取数据

】laravel8没有从ajax请求中获取数据【英文标题】:laravel8doesntgetdatafromajaxrequest【发布时间】:2021-08-1610:46:42【问题描述】:我一直无法在服务器中获取多个复选框的值,每次我转储时总是给我null。但是我可以在控制台中获取这... 查看详情

从 AJAX 请求中获取数组值 [重复]

】从AJAX请求中获取数组值[重复]【英文标题】:GetarrayvaluefromAJAXrequest[duplicate]【发布时间】:2017-05-2502:37:23【问题描述】:我有一个脚本,它读取一个JSON文件,然后用每个元素的name属性填充一个数组。HTML<scriptsrc="https://code.jq... 查看详情

在 IE8 中获取 div 的最后一个孩子?

】在IE8中获取div的最后一个孩子?【英文标题】:Gettinglast-childofadivinIE8?【发布时间】:2010-10-0707:25:24【问题描述】:除了使用div:last-child之外,还有其他方法可以获取div元素的最后一个子元素,这至少在IE8中不起作用?【问题... 查看详情

如何获取div中特定元素点击时的值?(代码片段)

我在做一个搜索引擎程序。人们可以提出问题,它将被列在不同的div中。然后人们可以点击列出的一个问题来回答它,答案(和那个特定的问题)将被列在另一个div中。但我的代码只显示在答案列表中输入的最后一个问题。因此... 查看详情

ajax请求状态和服务器返回状态详解

...。2:请求已发送,正在处理中(通常现在可以从响应中获取内容头)。3:请求在处理中;通常响应中已有部分数据可用了,但是服务器还没有完成响应的生成。4:响应已完成;您可以获取并使用服务器的响应了。xmlhttp.status的... 查看详情

如何在没有 ajax 的情况下发送 POST 请求

...发布时间】:2017-09-1517:02:01【问题描述】:我需要从表中获取数据,将其分配到一个数组中,然后通过Json将其发送到我的Java控制器,最后返回一个模型和视图。但是,由于我的控制器返回的是一个页面,所以这个请求不能是ajax... 查看详情

从数组中获取最后点击项目的值

】从数组中获取最后点击项目的值【英文标题】:Gettingvalueoflastclickeditemfromarray【发布时间】:2016-03-1323:19:46【问题描述】:更新#2:更新脚本。目标a)用户选择一个按钮。最后点击按钮的值+.current__amount=new__amountb)没有累计。再... 查看详情

ajax获取数据后怎么去渲染到页面

...编写javascript,按钮点击时,触发事件,将选中的checkbox值获取。4、美化页面,增加样式文件,和引入jquery文件。5、打开浏览器,打开测试页面。6、进行测试显示渲染到页面成功。参考技术A1、首先我们在后台代码里添加一个ajax... 查看详情