Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/448.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否可以将JavaScript数组元素超链接到HTML表中?_Javascript_Html_Arrays_Html Table - Fatal编程技术网

是否可以将JavaScript数组元素超链接到HTML表中?

是否可以将JavaScript数组元素超链接到HTML表中?,javascript,html,arrays,html-table,Javascript,Html,Arrays,Html Table,这是我到目前为止所做的代码。我想超链接网站,这样当数组以HTML格式输出为表时,网站将可以单击并链接到各自的网页。出于某种原因,type=“text/javascript”中的代码与language=“javascript”中的代码不同,我不知道为什么。如果有人能提供language=“JavaScript”的代码,我们将不胜感激 HTML: 床垫式 链接 JAVASCRIPT: <script language="JavaScript"> var table = docume

这是我到目前为止所做的代码。我想超链接网站,这样当数组以HTML格式输出为表时,网站将可以单击并链接到各自的网页。出于某种原因,type=“text/javascript”中的代码与language=“javascript”中的代码不同,我不知道为什么。如果有人能提供language=“JavaScript”的代码,我们将不胜感激

HTML:


床垫式
链接
JAVASCRIPT:

<script language="JavaScript">

var table = document.getElementById("table");
var body = document.createElement("tbody");

var beds = new Array(3);
beds[0] = ["Spring Mattress", "King Size", "http://factorymattresstexas.com/specials/spring-air/"];
beds[1] = ["Rest Lumbar Support", "Queen Size", "http://factorymattresstexas.com/specials/beautyrest-lumbar-support"];
beds[2] = ["Beauty Rest", "Twin Size", "http://factorymattresstexas.com/specials/simmons-beautyrest/"];

table.appendChild(tbody);
beds.forEach(function(items) {
  var row = document.createElement("tr");
  items.forEach(function(item) {
    var cell = document.createElement("td");
    cell.textContent = item;
    row.appendChild(cell);
  });
  table.appendChild(row);
});
</script>

var table=document.getElementById(“表格”);
var body=document.createElement(“tbody”);
var床=新阵列(3);
床[0]=[“弹簧床垫”,“特大号”http://factorymattresstexas.com/specials/spring-air/"];
床[1]=[“休息腰部支撑”,“大号床”http://factorymattresstexas.com/specials/beautyrest-lumbar-support"];
床[2]=[“美容休息”、“双人床”和“http://factorymattresstexas.com/specials/simmons-beautyrest/"];
表3.儿童(t身体);
床位。forEach(功能(项目){
var行=document.createElement(“tr”);
items.forEach(功能(项目){
var cell=document.createElement(“td”);
cell.textContent=项目;
子行(单元格);
});
表2.追加子项(行);
});

你就快到了。您只需继续添加子元素:

var table=document.getElementById(“表”);
var body=document.createElement(“tbody”);
//初始化空数组
变量床=[];
//将床对象添加到阵列中
床,推({
类型:“弹簧床垫”,
尺码:“特大号”,
链接:“http://factorymattresstexas.com/specials/spring-air/"
});
床,推({
类型:“休息腰部支撑”,
尺码:“大号”,
链接:“http://factorymattresstexas.com/specials/beautyrest-lumbar-support"
});
床,推({
类型:“美容休息”,
尺码:“双码”,
链接:“http://factorymattresstexas.com/specials/simmons-beautyrest/"
});
表3.儿童(t身体);
床位。forEach(功能(项目){
var行=document.createElement(“tr”);
//您以前只是将整个数组内容转储到一个单元格中。很可能您希望每种类型的信息都有单独的单元格。
var type=document.createElement(“td”);
type.textContent=item.type;
var size=document.createElement(“td”);
size.textContent=item.size;
//创建包含链接的单元格
var link_td=document.createElement(“td”);
//创建元素
var link=document.createElement(“a”);
link.textContent=item.link;
link.href=item.link
//将链接添加到单元格
link_td.appendChild(link);
//按您希望看到的顺序将单元格添加到行中
行.appendChild(类型);
行。追加子项(大小);
行.appendChild(链接);
表2.追加子项(行);
});

床垫式
大小
链接

你就快到了。您只需继续添加子元素:

var table=document.getElementById(“表”);
var body=document.createElement(“tbody”);
//初始化空数组
变量床=[];
//将床对象添加到阵列中
床,推({
类型:“弹簧床垫”,
尺码:“特大号”,
链接:“http://factorymattresstexas.com/specials/spring-air/"
});
床,推({
类型:“休息腰部支撑”,
尺码:“大号”,
链接:“http://factorymattresstexas.com/specials/beautyrest-lumbar-support"
});
床,推({
类型:“美容休息”,
尺码:“双码”,
链接:“http://factorymattresstexas.com/specials/simmons-beautyrest/"
});
表3.儿童(t身体);
床位。forEach(功能(项目){
var行=document.createElement(“tr”);
//您以前只是将整个数组内容转储到一个单元格中。很可能您希望每种类型的信息都有单独的单元格。
var type=document.createElement(“td”);
type.textContent=item.type;
var size=document.createElement(“td”);
size.textContent=item.size;
//创建包含链接的单元格
var link_td=document.createElement(“td”);
//创建元素
var link=document.createElement(“a”);
link.textContent=item.link;
link.href=item.link
//将链接添加到单元格
link_td.appendChild(link);
//按您希望看到的顺序将单元格添加到行中
行.appendChild(类型);
行。追加子项(大小);
行.appendChild(链接);
表2.追加子项(行);
});

床垫式
大小
链接

HTML 4.1中不推荐使用脚本元素的语言属性,并在后续版本中删除了该属性。把它拿走
type=“text/javascript”
不是必需的,它是脚本元素的默认类型。在HTML 4.1中,脚本元素的语言属性已被弃用,并在后续版本中删除。把它拿走
type=“text/javascript”
不是必需的,它是脚本元素的默认类型。您可以使用
row=tbody.insertRow()
cell=row.insertCell()
,一次创建元素并追加它们,从而稍微减少代码。您甚至可以执行
tbody.insertRow().insertCell().appendChild(document.createTextNode('foo'))
;-)谢谢@RobG-同意。在这种情况下,我不想对OP的代码进行太多的样式修改。一个对象在这里也更有意义(而不是数据项的数组)。谢谢@axlj和@RobG!!如果我想在链接之前在数组中包含更多的列,我应该创建更多的变量并为它们赋值document.createElement(“td”);后跟variableName.textContext=item[n]@AndrewC Yes——此外,我用一个例子更新了我的答案,说明了如何使用对象来代替它。@axlj谢谢!出于某种原因,表格格式不适用于具有超链接的单元格,但超链接本身正在工作。我还有一个关于图像的问题…是否可以在表中附加图像?换句话说,我如何创建另一个表格单元格并在e中放置图像
<script language="JavaScript">

var table = document.getElementById("table");
var body = document.createElement("tbody");

var beds = new Array(3);
beds[0] = ["Spring Mattress", "King Size", "http://factorymattresstexas.com/specials/spring-air/"];
beds[1] = ["Rest Lumbar Support", "Queen Size", "http://factorymattresstexas.com/specials/beautyrest-lumbar-support"];
beds[2] = ["Beauty Rest", "Twin Size", "http://factorymattresstexas.com/specials/simmons-beautyrest/"];

table.appendChild(tbody);
beds.forEach(function(items) {
  var row = document.createElement("tr");
  items.forEach(function(item) {
    var cell = document.createElement("td");
    cell.textContent = item;
    row.appendChild(cell);
  });
  table.appendChild(row);
});
</script>