Доступ / изменение информации в таблицах с помощью Javascript
Я использую greasemonkey, чтобы изменить функциональность существующей веб-страницы. Если вы не знакомы с greamonkey, это не имеет значения.. Основная информация заключается в том, что текущий код для существующей страницы выглядит следующим образом:
<div id="sqlDiv" class="sqlBorderDiv" style="display: none;">
<div class="reportBorderDiv">
<table class="reportTable">
<tbody>
<tr>
<tr class="reportRow1">
<tr class="reportRow2">
<td>55555</td>
<td>Bruce Wayne</td>
<td>12456789123</td>
<td>2013-12-17</td>
<td>Batman</td>
<td>Superhero</td>
<td>Menace</td>
<td>123246</td>
<td>12456</td>
<td>123456</td>
<td></td>
</tr>
</tbody>
</table>
</div>
Я хочу запустить на нем скрипт, который превратит первую ячейку любого reportRow в гиперссылку, используя информацию в этой ячейке. Я пытаюсь с помощью сценария, как показано ниже, но что-то идет не так, и я понятия не имею, что. (Я действительно новичок в JavaScript). Спасибо за любые предложения!
var anchor = null;
var container;
var rows;
var cells;
var demoNum;
var linkString = "https://somewebsite.com/";
container = document.getElementById('sq1Div');
rows = container.getElementsByTagName("tr");
for (var i = 0; i < rows.length; i++) {
var className = rows[i].getAttribute("class");
if ( className == "reportRow1" || className == "reportRow2" ) {
anchor = rows[i];
cells = anchor.getElementsByTagName("td");
demoNum = cells[0];
linkString = linkString + demoNum;
cells[0] = <a href = linkString > demoNum </a>;
}
}
3 ответа
Мне кажется, в HTML есть непревзойденные теги, может ли это как-то запутать greasemonkey?
Проблема в линии
cells[0] = <a href = linkString > demoNum </a>;
Это должно быть в строке, например:
cells[0]="<a href='"+linkstring+"'>"+demonum+"</a>";
Чтобы поместить это обратно в первый ряд таблицы, вы можете сделать это
row[i].childNodes[0].innerHTML=cells[0];
Кроме того, у вас есть document.getElementById("sq1div")
, вместо "sqlDiv"
document.getElementById ('sq *1* Div');
неверный идентификатор, вы используете цифру "1" вместо буквы "l"
ну и конечно же как написал scrblnrd3 строка с новой сборкой ссылок некорректна