Обрезать часть слов у всех <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, время: 07:57. |