2012-03-07 18 views
4
var table = document.getElementById(table1); 
var lastRow = table.rows.length; 

var country = lastRow.getElementById('Country'); 
country.setAttribute('class', "Country"+lastRow); 

我很新,我想知道这是否可能?获取表格属性的最后一行

而不是

var Country= document.getElementById('Country'); 

因为我有其他的id =国家,因为我加入新行..

编辑

我知道ID是唯一的。但是我克隆了最后一行,因此ID将全部相同。

+0

你不应该有相同的ID不止一次在HTML!改为使用班级。 – bfavaretto 2012-03-07 21:32:25

+1

“'因为我有其他id =国家'”你***不应该***有*任何*重复'ID';在文档中'id' ***必须是唯一的。 – 2012-03-07 21:33:26

+0

你使用原型或jQuery(或两者都不)? – Colleen 2012-03-07 21:34:39

回答

1

HTML文档中的ID是唯一的。因此,不需要为了查找元素而进行子查询。而是始终使用document.getElementById('Country')

+0

@LandY ID必须是唯一的。如果他们不是那么你会遇到很多其他问题 – JaredPar 2012-03-07 21:50:47

+0

我有 - $('#table tr:last')。clone(true)。appendTo('#table') – LandY 2012-03-07 22:01:54

+0

但是我想在克隆之前更改3个文本框属性 – LandY 2012-03-07 22:02:26

8

可以从rows属性访问表的最后一行。

var lastRow = table.rows[ table.rows.length - 1 ]; 

但是,我认为你对于你的要求有些疑惑。

2

这里是如何隐式获取最后一个单元格。请注意,您可以使用方括号表示法引用行或单元格数组中的特定对象,并且由于数组索引从0开始,您必须从长度中减1以将其用作有效的最后一个索引。

这个例子显示的情况下一些事情可以做:

<!DOCTYPE html> 
<html> 

<head> 
<title>Table test</title> 

<script language="javascript" type="text/javascript"> 

function init() { 

var table = document.getElementById("table1"); 

var lastRowIndex = table.rows.length-1; 

var lastCellIndex = table.rows[lastRowIndex].cells.length-1; 

alert(table.rows[lastRowIndex].cells[lastCellIndex].innerHTML); // alerts the cell's containing HTML, or 9 

var lastCell = table.rows[lastRowIndex].cells[lastCellIndex]; // contains a reference to the last cell 

} 



window.onload = init; 
</script> 

</head> 

<body> 


<table id="table1"> 
<tr><td>1</td><td>2</td><td>3</td></tr> 
<tr><td>4</td><td>5</td><td>6</td></tr> 
<tr><td>7</td><td>8</td><td>9</td></tr> 
</table> 


</body> 

</html> 

假设你有8列4行作为在下面的示例中的任意表,并在第5列和第3行希望电池要获取该单元格,您希望获取对表格的引用(例如通过getElementById),然后通过rowscells选择右侧的行和列,确保从数组索引开始于0减去1.请参阅此示例:

<!DOCTYPE html> 
<html> 

<head> 
<title>Table test</title> 

<script language="javascript" type="text/javascript"> 

function init() { 

var table = document.getElementById("table1"); 

var column5Row3 = table.rows[2].cells[4]; // contains a reference to the cell that is in the 3rd row, and 5th column 

alert(column5Row3.innerHTML); // alerts that cell's innerHTML (or Y) 

} 



window.onload = init; 
</script> 

</head> 

<body> 


<table id="table1"> 
<tr><td>1</td><td>2</td><td>3</td><td>4</td><td>5</td><td>6</td><td>7</td><td>8</td></tr> 
<tr><td>2</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td></tr> 
<tr><td>3</td><td>x</td><td>x</td><td>x</td><td>Y</td><td>x</td><td>x</td><td>x</td></tr> 
<tr><td>4</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td></tr> 
</table> 


</body> 

</html> 
1

我认为要做到这一点的最好办法是:

var lastTr = document.getElementById('tabRecapCommande').lastElementChild.lastElementChild; 

document.getElementById('tabRecapCommande')返回<table> document.getElementById('tabRecapCommande').lastElementChild。返回<tbody> document.getElementById('tabRecapCommande').lastElementChild.lastElementChild最后<tr><tbody>

如果你console.log(lasTr),你会看到你的最后<tr>元素:)