function getCheckbox() {
var checks = document.getElementsByClassName('checks');
var id_value = '';
var title_value = '';
var type_value = '';
var date_value = '';
var url_value = '';
for (i = 0; i < checks.length; i++) {
if (checks[i].checked === true) {
var row = checks[i].closest('tr');
id_value += checks[i].value + " ";
title_value += row.querySelector('.checks-title').textContent + " ";
type_value += row.querySelector('.checks-type h6').textContent + " ";
date_value += row.querySelector('.checks-date').textContent + " ";
url_value += row.querySelector('.checks-url a').getAttribute('href') + " ";
}
}
var check_result = "ID: " + id_value + "\nTitle: " + title_value + "\nType: " + type_value + "\nDate: " + date_value + "\nURL: " + url_value;
alert (check_result);
}
(示例显示我选择了三行)
我想要实现的是:
ID、标题、类型、日期、URL
ID、标题、类型、日期、URL
ID、标题、类型、日期、URL
我现在有:(参考截图)
身份证,身份证,身份证
标题,标题,标题
类型,类型,类型
日期,日期,日期
网址,网址,网址
我应该在我的 var check_result 中更改什么以获得我需要的东西?
与其将每张支票按类型添加到变量中,不如创建一个数组,将每一行保存为一个字符串 (
rows
)。然后,将该行的每一列附加到一个临时字符串 (str
) 中,然后将该字符串作为新元素推送到 rows
数组中。
然后,要打印你的行,首先,创建一个标题行,然后在你的数组上使用
.join('\n')
通过换行符连接每个元素(这是行字符串),从而将每一行放在一个新行中。
就像这样:
function getCheckbox() {
var checks = document.getElementsByClassName('checks');
var rows = [];
for (i = 0; i < checks.length; i++) {
if (checks[i].checked === true) {
var str = "";
var row = checks[i].closest('tr');
str += checks[i].value + " ";
str += row.querySelector('.checks-title').textContent + " ";
str += row.querySelector('.checks-type h6').textContent + " ";
str += row.querySelector('.checks-date').textContent + " ";
str += row.querySelector('.checks-url a').getAttribute('href') + " ";
rows.push(str);
}
}
var header = "ID, Title, Type, Date, URL\n";
alert(header + rows.join('\n'));
}