Обрезать часть слов у всех <h3> при загрузке страницы
Есть около десятка новостей, у которых заголовок h3 имеет вид
010.какой-то заголовок 011.и вот такой скажем заголовок 042.и даже такой заголовок необходимо отрезать первые четыре символа у всех заголовков, чтобы убрать цифры и точку. причем это должно произойти сразу при загрузке страницы. у заголовков можно ввести класс или уникальный айди. попробовал как-то так, но работает. <script type="text/javascript"> $( init ); function init() { for(var i=1; i<=11; i++) { $('h3#i').html($('h3#i').html().substring(4)); } } </script> <h3 id="1">010.я заголовок</h3> <h3 id="2">012.и я тоже заголовок</h3> в js не силен, был бы очень благодарен, если кто подскажет, как выполнить. спасибо. |
длина числа в начале может в будущем увеличиться, так что ориентироваться пока можно по точке.
можно вернуть подстроку, начиная от точки, не включая : var str = "010.я заголовок"; var pos = str.indexOf(".") + 1; // прибавляем 1 к позиции точки, чтобы её пропустить var newStr = str.substring(pos); alert(str+'\n\n'+newStr); подумайте, как это можно использовать. будут вопросы - обращайтесь в эту тему. |
Спасибо за вариант.
Только довести его до ума, все же не получается. Эти действия должны применятся ко всем h3, а тут или цикл или я даже не знаю, чтобы у всех сработало. |
Если на 100% уверен в размере шрифта, то можно и так, лол.)
<style> h3{ overflow:hidden; font: 20px arial, sans-serif; text-indent:-40px; } </style> <h3 id="1">010.я заголовок</h3> <h3 id="2">012.и я тоже заголовок</h3> А вообще это в любом случае должно делаться не js, а на стороне сервера. |
я не был бы столь категоричен. в ряде случаев такое приходится делать на клиенте. может быть это и через одно место, но рабочий код получить в любом случае можно. а то что вы предлагаете с css, это не вариант.
|
А я говорю в любом.
|
это не решает поставленной в данном случае задачи. а задача - сделать это на js.
|
Деньги на бочку.
|
пока вы вели демагогию, я написал короткий и вполне решающий задачу код
<script type="text/javascript"> $( init ); function init() { for(var i=1; i<=3; i++) { var el = $('#n' + i); el.html(el.html().substring(4)); } } </script> <h3 id="n1">010.я заголовок</h3> <h3 id="n2">012.и я тоже заголовок</h3> |
можно было чуть проще, без использования впустую идентификаторов :
$("h3").each(function(){ this.innerHTML = this.innerHTML.substring(4); }); |
Часовой пояс GMT +3, время: 08:16. |