Javascript 在每一行中添加一个新列,其中包含与第一列值相等的文本?
注意:我没有创建这个表,我是一个最终用户,试图让我的生活更轻松 我需要做的是将此表复制到excel,但第一列和第二列是输入框样式 我想在行的末尾创建一个新列,该列的值与第一列的值相同,但为文本,因此我可以在excel中复制和排序 我在Greasemonkey中试过这个,但没有成功:Javascript 在每一行中添加一个新列,其中包含与第一列值相等的文本?,javascript,jquery,html,greasemonkey,Javascript,Jquery,Html,Greasemonkey,注意:我没有创建这个表,我是一个最终用户,试图让我的生活更轻松 我需要做的是将此表复制到excel,但第一列和第二列是输入框样式 我想在行的末尾创建一个新列,该列的值与第一列的值相同,但为文本,因此我可以在excel中复制和排序 我在Greasemonkey中试过这个,但没有成功: $("tr").append("<td>rows[1].innerHTML</td>") $(“tr”).append(“行[1].innerHTML”) 以下是HTML: <for
$("tr").append("<td>rows[1].innerHTML</td>")
$(“tr”).append(“行[1].innerHTML”)
以下是HTML:
<form method="post">
<table width="100%" border="1">
<tbody>
<tr>
<td width="30%">Document Name</td>
<td>File Name</td>
<td>Last Updated</td>
<td>Email Target</td>
</tr>
<input type="hidden" name="documentId" value="5723">
</tbody>
<tbody>
<tr>
<td>
<input type="text" size="30" name="name_5723" value="document1">
</td>
<td>
<input type="text" size="30" name="fileName_5723" value="document1.pdf">
</td>
<td>05/26/2015 10:40 AM</td>
<td>
<a href="mailto:document+5723@mega.com">document+5723@mega.com</a>
</td>
</tr>
<input type="hidden" name="documentId" value="5722">
</tbody>
文件名
文件名
最后更新
电子邮件目标
2015年5月26日上午10:40
所需的输出如下所示:
$("tr").append(function(){
return $("td:eq(0)", this).clone();
});
注意:通过简单地使用$(“tr”)
作为选择器,可能会将页面上不需要的tr元素作为目标,请确保向表中添加一个ID,如:
<table id="myTable">
并在jQuery中使用它:
$(“#myTable tr”)
关于问题代码的一些注释:
/==UserScript==
//@name\u追加文本列
//@包括http://YOUR_SERVER.COM/YOUR_PATH/*
//@需要http://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js
//@需要https://gist.github.com/raw/2625891/waitForKeyElements.js
//@grant GM_addStyle
//==/UserScript==
/*-需要@grant指令来解决设计变更
在GM 1.0中引入。它会恢复沙箱。
*/
女服务员(
“表单>表格:包含('Document Name')tr”,appendTextColumn
);
函数appendTextColumn(jNode){
var firstCol=jNode.find(“td:eq(0)”;
var cellContent=firstCol.find(“输入”).val()| | firstCol.text();
jNode.append(“”+cellContent+“”);
}
仅在静态页面上工作的等效代码:
var-targTable=$(“表单>表格:包含('documentname'));
如果(targetable.length!==1)
警报('GM脚本错误:应为1个文档表,但找到“+targetTable.length+”!”);
targetable.find(“tr”).append(函数(idx){
var firstCol=$(“td:eq(0)”,这是);
如果(idx==0)
返回“”+firstCol.text()+“”
返回“”+firstCol.find(“输入”).val()+“”
} );
var-targTable=$(“表单>表格:包含('documentname'));
如果(targetable.length!==1)
警报('GM脚本错误:应为1个文档表,但找到“+targetTable.length+”!”);
targetable.find(“tr”).append(函数(idx){
var firstCol=$(“td:eq(0)”,这是);
如果(idx==0)
返回“”+firstCol.text()+“”
返回“”+firstCol.find(“输入”).val()+“”
} );代码>
文件名
文件名
最后更新
电子邮件目标
2015年5月26日上午10:40
对不起。我真的不知道正确的语法。我认为行是正确的。我应该使用哪种语法?您的意思是要在每一行中添加一个单元格(右侧),其中包含第一行的确切值document blah blah
?而且input
不能是表的子元素。。。这是错误的…:(这里是我所说的,所有这些表都在下,所以我认为这就是为什么输入框是OK的原因。我没有创建表。如何使用javascript将表id添加到现有html中?