jquery: изменить несколько элементов с одним id ?

sunyang

Мастер
Регистрация
25 Апр 2009
Сообщения
440
Реакции
30
есть три элемента с id='textnews'. Нужно у них одрезать лишний текст, но обрезает только у первого элемента.

функция:

HTML:
<script>
$(document).ready(function(){
var textnews = jQuery('#textnews').text()

jQuery("#textnews").each(function(i, elem){
        elem = $(elem);
        if (textnews.length > 135) { 
	var newstr = textnews.substring(0, 135);
			       jQuery('#textnews').text(newstr+"...")
	} 
    });
	});
</script>

Ч эо она? почему другие не режет?
 
И не должна. id - он должен быть уникальным для элемента. Так что выберите другой селектор. Например создайте один класс для данных элементов.
 
И не должна. id - он должен быть уникальным для элемента. Так что выберите другой селектор. Например создайте один класс для данных элементов.

вот это

HTML:
 <script type="text/javascript">
$(document).ready(function(){
    jQuery(".price_block1, .thisprise, .ald_price, .aldprice").each(function(i, elem){
        elem = $(elem);
        if( elem.text() !== "" ) elem.append("<small> руб</small>");  
    });
    jQuery(".sale_block1, .sale").each(function(i, elem){
        elem = $(elem);
        if( elem.text() !== "" ) elem.append("<small> %</small>");  
    });    
});
</script>

вот здесь:
для всех элементов в одинаковым классом "sale_block1" работает.
я думаю, все дело в each функции.

Так что, сомневаюсь, что здесь нельзя сделать также...
 
sunyang, вы различаете селекторы? Чем класс и идентификатор различаются? Или по вашему они одно и то же? Так может их одним селектором по вашему заменить?

есть три элемента с id='textnews'
ИДЕНТИФИКАТОР УНИКАЛЬНО ИДЕНТИФИЦИРУЕТ ЭЛЕМЕНТ! И если их таких три, то в голове у разработчика... Ладно.
А вот если бы там было
есть три элемента с class='textnews'
Тогда бы я как и вы возмутился тому, что код не работает.
 
Господа, это же jQuery, хотите провести какие-то действия с первым элементом, тогда используйте:
 
Назад
Сверху