0

次のコードを切り取っています。子リスト要素を持つリスト要素に「アイコン」を追加することを目的としています。ただし、addClass はスタイルを破棄します。「.icon-left」クラスが空の場合でも、このクラスを追加すると、リスト項目構造のスタイルがなくなります。

if ($('.brien-sliding-menu ul li').find('ul li').length > 0) {

    $('.brien-sliding-menu > ul > li').addClass('icon-left');

}

html は次のとおりです。

<nav class="brien-sliding-menu">
    <h3>Menu</h3>
    <ul>
        <li><a href="#">Home</a></li>
        <li><a href="#">About Us</a>
            <ul>
                <li><a href="#">Services</a>
                    <ul>
                        <li><a href="#">Our Team</a></li>
                        <li><a href="#">Our Team</a></li>
                        <li><a href="#">Our Team</a></li>
                    </ul>
                </li>
                <li><a href="#">Our Team</a></li>
                <li><a href="#">FAQ</a></li>
            </ul>

        </li>
        <li><a href="#">Products</a>
            <ul>
                <li><a href="#">Events</a></li>
                <li><a href="#">Maps</a></li>
                <li><a href="#">Discovery</a></li>
            </ul>
        </li>
    </ul>
</nav>

そして追加したいcssクラス:

.icon-left{ 
    font-size:30px; 
    background:url(../img/icon-left.png) no-repeat;
}
4

1 に答える 1

0

やってみませんか:働くフィドル

    $(".brien-sliding-menu ul li:has(li)").find("li").addClass("icon-left");
于 2013-08-04T16:14:27.377 に答える