Доступ / изменение информации в таблицах с помощью 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 строка с новой сборкой ссылок некорректна

Другие вопросы по тегам