Понимание последнего ребенка - PullRequest
1 голос
/ 02 сентября 2011

У меня следующая html-структура:

<div class="decorator">
    <div class="EC_MyICHP_Item">
        <div class="text">
            <h3><a target="_blank" title="" href="#"></a></h3>
            text here text here text here text here text here text here 
        </div>
    </div>

    <div class="EC_MyICHP_Item">
        <div class="text">
            <h3><a target="_blank" title="" href="#"></a></h3>
            text here text here text here text here text here text here 
        </div>
    </div>

    <div class="EC_MyICHP_Item">
        <div class="text">
            <h3><a target="_blank" title="" href="#"></a></h3>
            text here text here text here text here text here text here 
        </div>
    </div>

    <div class="readmore"><a></a></div>
</div>

Я пытаюсь выбрать LAST EC_MyICHP_Item, используя last-child, но напрасно.(и CSS, и jQuery) Не могли бы вы мне помочь?

Спасибо.

Ответы [ 4 ]

4 голосов
/ 02 сентября 2011

Вам нужно использовать :last-child в конце селектора.

div.EC_MyICHP_Item:last-child

http://reference.sitepoint.com/css/pseudoclass-lastchild

Пример : http://jsfiddle.net/jasongennaro/zrufd/

Обратите внимание: это не будет работать в более ранних версиях IE.

EDIT

Согласно комментарию о последнем добавляемом div, и это мешает. Ты прав. Это заставляет :last-child задыхаться ... по крайней мере, в Chrome, где я его тестировал.

Если ваша HTML структура остается неизменной, то есть всегда три div.EC_MyICHP_Item, вы можете сделать это

.EC_MyICHP_Item:nth-child(3)

Обновленный пример: http://jsfiddle.net/jasongennaro/zrufd/1/

РЕДАКТИРОВАТЬ # 2

к сожалению, число делений EC_MyICHP_Item варьируется

В этом случае я бы использовал jQuery:

$('.EC_MyICHP_Item:last')

Далее обновленный пример: http://jsfiddle.net/zrufd/2/

2 голосов
/ 02 сентября 2011

.EC_MyICHP_Item:last-child должно работать хорошо.

Важно понимать, что E:last-child означает «элемент E, который является последним дочерним элементом», а не «последний дочерний элемент элемента E».

0 голосов
/ 02 сентября 2011

.EC_MyICHP_Item:last-child будет работать, только если div является последним дочерним элементом своего родительского div.Поскольку у вас div.readmore как последний дочерний элемент родителя, ваш селектор не будет работать.Вместо этого вам нужно использовать .EC_MyICHP_Item:last-of-type.

Редактировать: в jQuery это будет означать .EC_MyICHP_Item:last.

0 голосов
/ 02 сентября 2011

Я добавил идентификатор только для целей тестирования.

Но используйте :last.

http://jsfiddle.net/aDbcW/1/

...