[Помогите] Выберите элемент в зависимости от количества дочерних элементов он содержит?

Тема в разделе "Вёрстка (HTML, CSS)", создана пользователем Styler247, 22 сен 2013.

  1. Styler247

    Styler247

    Регистрация:
    16 май 2013
    Сообщения:
    87
    Симпатии:
    2
    У меня есть HTML код, подобный этому:

    Код:
    <div class="main"></div>
    <div class="span2">
        <div><a href="xyz71">List 1</a></div>
        <div>
            <ul>
                <li><a href="xyz71_72">Cat 11</a>
                </li>
                <li><a href="xyz71_73">Cat 12</a>
                </li>
                <li><a href="xyz71_76">Cat 13</a>
                </li>
                <li><a href="xyz71_78">Cat 14</a>
                </li>
            </ul>
        </div>
    </div>
    <div class="span2">
        <div><a href="xyz90">List 2</a></div>
        <div>
            <ul>
                <li><a href="xyz90_91">Cat 211</a>
                </li>
                <li><a href="xyz90_92">Cat 212</a>
                </li>
                <li><a href="xyz90_93">Cat 213</a>
                </li>
            </ul>
        </div>
        <div>
            <ul>
                <li><a href="xyz90_91">Cat 221</a>
                </li>
                <li><a href="xyz90_92">Cat 222</a>
                </li>
                <li><a href="xyz90_93">Cat 223</a>
                </li>
                <li><a href="xyz90_94">Cat 224</a>
                </li>
                <li><a href="xyz90_95">Cat 225</a>
                </li>
                <li><a href="xyz90_96">Cat 226</a>
                </li>
            </ul>
        </div>
    </div>
    'main' является материнской div. это имеет 2 ребенка div, оба из class 'span2'. Первый 'span2' div имеет только 2 дочерних элементов. Но второй 'span2' div имеет 3 дочерних элементов.

    Я хочу, чтобы найти те div, которые находятся внутри 'main' div которые содержат ровно 3 дочерних элементов. Если такой элемент найден, border должны применяться вокруг этого элемента. Так что в моем коде, второй элемент 'span2' div должны получить рамкой.

    Я нашел следующий код для этой цели, но я не могу найти способ использовать его здесь.

    Код:
    li:first-child:nth-last-child(3),
    li:first-child:nth-last-child(3) ~ li {
        width: 33.3333%;
    }
    Может ли кто-нибудь помочь мне с этим?
     
  2. TopRaN

    TopRaN

    Регистрация:
    17 сен 2013
    Сообщения:
    15
    Симпатии:
    2
    а теперь еще раз и по-русски.
    Из выше написанного ни чего не понятно. Я так понимаю, что нужно что бы в span2 применялась рамка? тогда ниже приведенный конд не правильный.
    в css вы пишите li-элемент и под него классы. после указываете размер по ширине в процентах. а где сама рамка border?
    Из выше упомянутного скорее всего вам нуже скрипт на яве, которой будет автоматически определять конкретный див, и если он найден то применять к нему стиль
     
    Последнее редактирование: 23 сен 2013
  3. Styler247

    Styler247

    Регистрация:
    16 май 2013
    Сообщения:
    87
    Симпатии:
    2
    Можете ли вы опубликовать некоторые примеры кода, если возможно? Я не возражаю, если вы используете JQuery.

    Мне нужно код, который может выбирать div, который содержит 3 или более дочерних элементов. Код должен затем нарисуйте рамку вокруг таких div.

    Например:

    1) div 'main1' содержит 3 div: `main_1_child_1 ',` main_1_child_2', `main_1_child_3 '
    2) 'main2' div содержит 4 div: `main_2_child_1 ',` main_2_child_2', `main_2_child_3 ',` main_2_child_4'
    3) div "main3 'содержит 2 div:` main_3_child_1', `main_3_child_2,

    Таким образом, в этом примере, код должен выбрать 'main1' и 'main2', и провести границу вокруг них, потому что они содержат 3 или более дочерних элементов.