Манипулирование строками, удаление тега - PullRequest
0 голосов
/ 03 июня 2011

У меня есть следующий цикл, который генерирует небольшой фрагмент HTML:

for (var i = 0; i < 5; i++) {
    test_html += 'some text here<hr />';
}

это создаст HTML

some text here<hr />
some text here<hr />
some text here<hr />
some text here<hr />
some text here<hr />

Как остановить добавление последних <hr /> или как удалить последние <hr />?

Ответы [ 8 ]

7 голосов
/ 03 июня 2011

Я бы просто использовал массив.

var test_html = [];
for (var i = 0; i < 5; i++) {
    test_html.push('some text here');
}
console.log(test_html.join('<hr />'))

Также, если вы хотите объединить только строки, просто зациклите на один меньше

var test_html = '';
for (var i = 0; i < 4; i++) { //4 not 5
    test_html += 'some text here<hr />';
}
test_html += 'some text here';
2 голосов
/ 03 июня 2011

Присоединение к массиву происходит намного быстрее, особенно в IE:

test_html = [];
for (var i = 0; i < 5; i++) {
    test_html.push('some text here');
}
test_html = test_html.join('<hr />');
0 голосов
/ 03 июня 2011

Вы должны попробовать это:

for (var i = 0; i < 5; i++)
    test_html += 'some text here';
    if (i < 4) test_html += '<hr />';
}

Это создаст:

some text here<hr />
some text here<hr />
some text here<hr />
some text here<hr />
some text here
0 голосов
/ 03 июня 2011
var loops = 5;
for (var i = 0; i < loops ; i++) {
 if (i == loops -1)
  {
    test_html += 'some text here';
  }
   else
  {
        test_html += 'some text here<hr />';
  }
}
0 голосов
/ 03 июня 2011
for (var i = O; i < 5 ; i++) {
    test_html += 'some text here';
    if (i != 4)
        test_html += '<hr />';
}
0 голосов
/ 03 июня 2011
for (var i = 0; i < 5; i++) {
    test_html += 'some text here';
    if (i < 4)
        test_html += '<hr />';
}
0 голосов
/ 03 июня 2011
test_html = 'some text here';
for (var i = 1; i < 5; i++) {
    test_html += '<hr />some text here';
}

Если бы я делал это с массивом, я бы использовал Array.join ()

0 голосов
/ 03 июня 2011

Как то так?

for (var i = 0; i < 5; i++) {
    test_html += (i === 4) ? 'some text here' : 'some text here <hr />';
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...