简单JavaScript HTML表生成器
这是JavaScript HTML表格生成器 输出应为: 问题就在这里。我没有办法完成我的工作,但我尽我最大的努力去编码。有人能帮我吗?请简单JavaScript HTML表生成器,javascript,html-table,Javascript,Html Table,这是JavaScript HTML表格生成器 输出应为: 问题就在这里。我没有办法完成我的工作,但我尽我最大的努力去编码。有人能帮我吗?请 function progress(){ var txt = document.form.txt.value; var line = txt.split("\n"); // every line of context var line_num = line.length; // total line for (var i =
function progress(){
var txt = document.form.txt.value;
var line = txt.split("\n"); // every line of context
var line_num = line.length; // total line
for (var i = 0; i<line_num; i++)
{
var seq = line[i].split(" "); //seq[0]: name of label, seq[1] : context
// CODE START
// CODE END
}
var out="<table>"; // if the value exist, using table to display
// CODE START
// CODE END
out=out+"</table>"
document.getElementById('out').innerHTML=out; // display the result
}
函数进度(){
var txt=document.form.txt.value;
var line=txt.split(“\n”);//上下文的每一行
var line_num=line.length;//行总数
对于(var i=0;i我已经根据您的要求创建了样本
请检查这个代码
函数进度(){
var txt=document.form.txt.value;
var line=txt.split(“\n”);//上下文的每一行
var line_num=line.length;//行总数
var uniqueValue=[];
var值=[];
对于(变量i=0;i最大长度)
maxLength=值[i]。长度
}
如果(长度>0)
{
var out=”“;//如果该值存在,则使用表显示
对于(var i=0;i我也尝试了一下。这种方法应该可以让您了解动态创建的DOM元素背后的重要思想。我认为这是一个更适合生产的算法版本,因为只使用了原生JS
我的方法的主要区别在于,它完全使用动态DOM元素来构建表,而不是静态html标记。在某些情况下,它更易于阅读,也更灵活,特别是如果您希望动态处理标记属性。我还设法将复杂性降低了1个级别。下面是我的尝试,以使其成为简单易读:
document.getElementById(“btn”).addEventListener(“单击”),函数(事件){
进步();
},假);
功能进展(){
var txt=document.form.txt.value;
var line=txt.split(“\n”);//上下文的每一行
var line_num=line.length;//行总数
//构建标签->内容关联
变量输入={};
对于(var i=0;iHint:如果您正在构建一个表,那么在进入循环之前,您需要确定一个初始值,并在循环中添加一些附加值。首先手动编写少量值的表。一旦您获得了逻辑概念,它就会简单得多。祝您好运:)@弗雷德里克,你有这样的例子吗?你能创造一个吗jsfiddle@TC2Bee我尝试了一些东西并添加了它作为替代答案。希望您喜欢这个想法。首先,我找到了唯一的值并存储在uniqueValue变量中。例如A、B、C。我还将等效值存储到多维数组中。使用多维数组,我创建了表格。你能谈谈你的逻辑的更多细节吗?我无法理解你的算法,比如“构建标签-->内容关联”@TC2Bee这里的主要思想是构建一个json对象,该对象具有每个标签的键。然后,对于每个标签,如果它不存在,则在此位置创建一个仅包含一个内容的数组。否则,这意味着该数组已经存在,因此您可以将内容推送到它的末尾。有意义吗?
A 1
A 2
A 3
B 1
B 2
C 1
C 2
C 3
C 4
function progress(){
var txt = document.form.txt.value;
var line = txt.split("\n"); // every line of context
var line_num = line.length; // total line
for (var i = 0; i<line_num; i++)
{
var seq = line[i].split(" "); //seq[0]: name of label, seq[1] : context
// CODE START
// CODE END
}
var out="<table>"; // if the value exist, using table to display
// CODE START
// CODE END
out=out+"</table>"
document.getElementById('out').innerHTML=out; // display the result
}
<!DOCTYPE html>
<html>
<head>
<meta charset = "utf-8">
<title> HW3 </title>
<script type="text/javascript" src="abc.js"></script>
<style type = "text/css">
table
{
width: 300px;
border:1px solid black;
border-collapse : collapse;
}
tr td
{
border:1px solid black;
}
</style>
</head>
<body>
<form name = "form" enctype="multipart/form-data" id="form" method="post" onsubmit="return false;">
<label><textarea name="txt" rows="20" cols = "40"></textarea></label>
<br>
<button type="submit" onclick = "javascript:progress()">Submit</button>
</form>
<p id= "out"></p>
</body>
</html>