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

Тема в разделе "JavaScript", создана пользователем sunyang, 27 окт 2011.

Модераторы: ZiX
  1. sunyang

    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>
    
    Ч эо она? почему другие не режет?
     
  2. fpinger

    fpinger

    Регистр.:
    11 май 2007
    Сообщения:
    253
    Симпатии:
    58
    И не должна. id - он должен быть уникальным для элемента. Так что выберите другой селектор. Например создайте один класс для данных элементов.
     
  3. sunyang

    sunyang

    Регистр.:
    25 апр 2009
    Сообщения:
    440
    Симпатии:
    30
    вот это

    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>
    
    вот здесь: http://allgorod.info/sale/
    для всех элементов в одинаковым классом "sale_block1" работает.
    я думаю, все дело в each функции.

    Так что, сомневаюсь, что здесь нельзя сделать также...
     
  4. fpinger

    fpinger

    Регистр.:
    11 май 2007
    Сообщения:
    253
    Симпатии:
    58
    sunyang, вы различаете селекторы? Чем класс и идентификатор различаются? Или по вашему они одно и то же? Так может их одним селектором по вашему заменить?

    ИДЕНТИФИКАТОР УНИКАЛЬНО ИДЕНТИФИЦИРУЕТ ЭЛЕМЕНТ! И если их таких три, то в голове у разработчика... Ладно.
    А вот если бы там было
    Тогда бы я как и вы возмутился тому, что код не работает.
     
    sunyang нравится это.
  5. Truper

    Truper

    Регистр.:
    20 ноя 2006
    Сообщения:
    211
    Симпатии:
    112
    Господа, это же jQuery, хотите провести какие-то действия с первым элементом, тогда используйте:

    Перейти по ссылке