Код скребка Greasemonkey захватывает буквы вместо слов?

Я пишу простой пользовательский скрипт, который очищает некоторые спортивные данные и помещает их в таблицу вверху страницы. Однако вместо того, чтобы помещать каждое название команды в отдельный ряд, оно разбивает каждое слово на отдельные буквы и размещает их в строках.

Исходный HTML:

<span class="team-title" id="firstTeamName">Oakland Raiders</span>

Образец кода:

$(document).ready(function () {

$('#navFixed').after('<table id="tbone"></table>'); //navFixed is just an element at the top of the page

var team1 = $('span#firstTeamName').text();

for (var i = 0; i < team1.length; i++) {
    var txt = $('<tr><td></td></tr>').text(team1[i]);
    $('#tbone').append(txt);
    }
});

Пример вывода HTML:

<table id="tbone">
    <tr><td>O</td></tr>
    <tr><td>a</td></tr>
    <tr><td>k</td></tr>
    <tr><td>l</td></tr>
    ...
</table>

Идеальный результат:

<table id="tbone">
<tr>Oakland Raiders</tr>
</table>

Какие-нибудь мысли?

1 ответ

Решение

.text() возвращает строку, которая является то, что вы хотите. Зацикливание строки дает отдельные буквы. Не делай этого.;)

Я подозреваю, что вы хотели пройтись по командам. Сделайте это, выбрав все .team-title узлы и проходя по ним с помощью JQuery's .each(),
Смотрите этот код:

$("button").click ( function () {
    //--- Greasemonkey javascript follows...
    var targTble    = $('<table id="tbone"></table>').insertAfter ("#navFixed");
    var teams       = $(".team-title");

    teams.each ( function () {
        var teamName = $(this).text ().trim ();  //-- Always beware of whitespace
        targTble.append ('<tr><td>' + teamName + '</td></tr>');
    } );
    //--- End of Greasemonkey javascript.
    this.disabled = true;
} );
.team-title {background: #ddd; font-size: 80%;}
table {border-collapse: collapse;}
table, td {border: 1px solid green;}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<span id="navFixed"></span><br>
<span class="team-title" id="firstTeamName">Oakland Pirates</span><br>
<span class="team-title" id="firstTeam_02"> San Fran Gold diggers</span><br>
<span class="team-title" id="firstTeam_03"> Dallas Cow pokes</span><br>
<button>Run Greasemonkey code</button>

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