Цитата:
|
Подскажите пожалуйста, как получить доступ к ... таблице для её редактирования.
|
Я так понял вопрос:
я создал много всяких таблиц на страничке, и теперь хочу в одной их них что-то поменять, как это сделать?
Можно сделать так: одним скриптом вы создаёте HTML-элементы (таблицы), а редактировать их можно другим скриптом, т.е. как-то выбирать html-элементы:
document.getElementById('element id');
document.getElementsByTagName('element_name');
и т.д.
Как именно достучаться до "N-2" таблице надо смотреть в конкретном случае, покажите разметку, что получилось?
Второй вариант: вы хотите при создании "N-2" таблицы сразу запомнить её для последующего редактирования?
var editableTable, //тут будет ссылка на n-2 таблицу
n = 5;
function WriteTable(tableIndex){
var c = 3,
r = 3,
m = [['a', 'b', 'c'], ['d', 'e', 'f'], ['g', 'h', 'i']];
var table = document.createElement('table');
for(i=0; i<c; i++){
var row = table.insertRow(-1);
row.setAttribute("align","center");
for (j=0; j<r; j++){
var cell = row.insertCell(-1);
cell.innerHTML = m[i][j];
}
}
document.getElementById('BOX').appendChild(table);
if(tableIndex == (n-2)-1){
editableTable = table;
}
};
//создание "n" таблиц
for(var k=0; k<=n-1; k++){
WriteTable(k);
};
Это работает, если вы наперед знаете количество создаваемых таблиц.
var editableTable, //тут будет ссылка на "n-2" таблицу
n = 5,
funInv = 0,
tableClass = 'appended';
function WriteTable(){
var c = 3,
r = 3,
m = [['a', 'b', 'c'], ['d', 'e', 'f'], ['g', 'h', 'i']];
var table = document.createElement('table');
table.setAttribute("class", tableClass);
for(i=0; i<c; i++){
var row = table.insertRow(-1);
row.setAttribute("align","center");
for (j=0; j<r; j++){
var cell = row.insertCell(-1);
cell.innerHTML = m[i][j];
}
}
document.getElementById('BOX').appendChild(table);
funInv++; //сколько таблиц уже наплодили
};
//создание таблиц
for(var k=0; k<=n-1; k++){
WriteTable();
};
var tables = document.getElementsByTagName('TABLE'),
curTableIndex = 0;
for(var k=0, len=tables.length; k<=len-1; k++){
if(tables[k].className == tableClass){
curTableIndex++;
if(curTableIndex == funInv-2){
editableTable = tables[k];
break;
}
}
};
Для этого кода не важно где и когда были динамически созданы таблицы.
Какой из вариантов ваш?