gpt4 book ai didi

javascript - 打开分页时如何从(html) Bootstrap 表中获取完整数据

转载 作者:行者123 更新时间:2023-11-28 05:21:32 24 4
gpt4 key购买 nike

我正在使用 bootstrap table在我的网页中,当分页打开时,我想从所有表格单元格中获取完整的文本数据。我尝试了以下方法,它返回了所有数据:

var data = $('#' + tableID).bootstrapTable('getData')

现在,当我遍历 data 对象以获取每个单元格的值时,它工作正常,但是对于那些具有一些嵌套 html 的单元格,例如:

   <td class="danger">cell 4</td>
<td>
<a href="https://www.google.com">google</a>
</td>

现在,在这种情况下,我想以 google 的形式获取第二个单元格的值,但它以

的形式返回整个 html
 <a href="https://www.google.com">google</a>

任何想法,我如何才能只获得文本值。

我不能做任何服务器端操作,我必须使用 javascript/jquery 来实现。我也尝试过使用 jquery:

function getColData(tableID,colIndex) {
var colArray = $('#' + tableID + ' td:nth-child'+'('+colIndex+')').map(function(){
return $(this).text();
}).get();
return colArray
}

它正确返回数据,但只有在事件页面上可见的数据,我想要所有数据。

最佳答案

根据您在 JSFiddle 上的文件,我修改了 JS 部分如下,这将为您提供每个 td 上的文本(即文本或文本内容),而不是它们的属性值。基本上,这会遍历 DOM 搜索嵌入的标签 - 除了表头上的标签 - 然后获取文本值。

var table = $('#table'), button = $('#button');
button.click(function() {
var data = [];
table.find('tr:not(:first)').each(function(i, row) {
var cols = [];
$(this).find('td').each(function(i, col) {
cols.push($(this).text());
});
data.push(cols);
});
alert(data);
});

您可以在实际中看到它 here

更新:无论分页如何,这都会为您提供所有数据,它还会去除标签和嵌套标签。

var table = $('#table'), button = $('#button');

button.click(function() {
var messedData = table.bootstrapTable('getData');
var data = [];
$.each(messedData, function(i, row) {
var rowData = {
'name': row['0'],
'star': row['1'],
'forks': row['2'],
'desc': row['3'],
}

for (prop in rowData) {
var tmp = document.createElement("div");
tmp.innerHTML = rowData[prop];
rowData[prop] = tmp.textContent || tmp.innerText || "";
}

data.push(rowData);
});
console.log(data);
});

可以看到here

关于javascript - 打开分页时如何从(html) Bootstrap 表中获取完整数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38052837/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com