社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Jquery

如何在不删除其他行的情况下向jquery中的表中添加新的“top”行

jpgerb • 4 年前 • 1712 次点击  

首先,我确实看过 How to replace innerHTML of a div using jQuery? 如果我想替换填充标签,那就太好了 <tr> 在这种情况下。

我正在尝试创建一个动态表,加载用于加密挖掘的API。每当有新的块命中时,我想将它们添加到表的顶部,并删除任何超过100个(仅100个)的块 <tr> 麦克斯)。

现在,我要做的是:

document.getElementById('blockList').innerHTML += "<tr><td>" ...

这会将行添加到以下内容的顶部:

<table class="table1">
    <thead class="thead-light">
        <tr>
            <th>#</th>
            <th>Time (Local)</th>
            <th class='collapsableHeader' onclick='collapseTable()'>Hash</th>
            <th>Height</th>
            <th>Effort</th>
            <th>Found By</th>
            <th>Pool/Solo</th>
            <th>Status</th>
        </tr>
    </thead>
    <tbody id="blockList"></tbody>
</table>

我现在这样做的问题是,它清除了整个表格:

document.getElementById("blockList").innerHTML = "";

...这会导致一点闪烁,或者我更喜欢称之为“抽搐”,而数据每次都会重新加载 setInterval() 被调用(大约每10秒一次)。

我的第一个希望是jQuery将最小化或删除闪烁。这里是我挂断电话的地方——上面的链接是用新信息替换标签:

$("#blockList").html("STUFF TO REPLACE EXISTING STUFF");
//or
$("#blockList").text("STUFF TO REPLACE EXISTING STUFF");

text() 在我的情况下不起作用,因为我用的是 innerHTML += 也要添加标签。。。

document.getElementById('blockList').innerHTML += "<tr><td>" + i + "</td><td>" + displayBlocks[i]["timestamp"] + "</td><td class='collapsable'>" + displayBlocks[i]["hash"] + "</td><td class='collapsablePlaceholders'>|</td><td>" + displayBlocks[i]["height"] + "</td><td style='color:" + displayBlocks[i]["luckColor"] + "'>" + displayBlocks[i]["luck"] + "</td><td>" + displayBlocks[i]["worker"] + "</td><td>" + displayBlocks[i]["ps"] + "</td><td>" + displayBlocks[i]["status"] + "</td></tr>";

如果可能,则删除行>100英镑很容易(我希望如此)。

所以,所有这些都是为了说明:

是否可以将信息添加到 id / tag 在jQuery中,不删除其中的所有现有数据。基本上相当于 .innerHTML += 特别是 += 部分

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/130849
文章 [ 1 ]  |  最新文章 4 年前
Kinglish
Reply   •   1 楼
Kinglish    4 年前

下面是一些关于如何使用JQ添加到顶部、添加到底部、从顶部移除和从底部移除的示例

let n = 0
$('button').click(function() {
  n++
  let fakerow = `<tr><td>${n}</td><td>12:34</td><td>123123123</td><td>10</td><td>??</td><td>Fred</td><td>Solo</td><td>available</td></tr>`;

  let action = $(this).data('action');
  if (action == 'add-top') {
    $('#blockList').prepend($(fakerow))
  } else if (action == 'add-bottom') {
    $('#blockList').append($(fakerow))
  } else if (action == 'remove-top') {
    $('#blockList tr').first().remove()
  } else if (action == 'remove-bottom') {
    $('#blockList tr').last().remove()

  }
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table class="table1">
  <thead class="thead-light">
    <tr>
      <th>#</th>
      <th>Time (Local)</th>
      <th class='collapsableHeader' onclick='collapseTable()'>Hash</th>
      <th>Height</th>
      <th>Effort</th>
      <th>Found By</th>
      <th>Pool/Solo</th>
      <th>Status</th>
    </tr>
  </thead>
  <tbody id="blockList"></tbody>
</table>
<hr>

<button data-action='add-top'>Add row to top</button>
<button data-action='add-bottom'>Add row to end</button>
<hr>
<button data-action='remove-top'>Remove row from top</button>
<button data-action='remove-bottom'>Remove row from end</button>