1

私はマークアップをフォローしています:

<ul>
    <li>
        <a href="#"><img src="sample-big-product.png" alt="" title="" /></a>
        <span><a href="#">View Product</a></span>
        <ul><li>1,2,3</li></ul>
            <h2>Featured product name</h2>
        <p>Lorem ipsum dolor sit amet, cosetur adispci elit. Morbi poseure ante porta justo...</p>
    </li>

    <li>
        <a href="#"><img src="sample-big-product.png" alt="" title="" /></a>
        <span><a href="#">View Product</a></span>
            <ul><li>1,2,3</li></ul>
        <h2>Featured product name</h2>
        <p>Lorem ipsum dolor sit amet, cosetur adispci elit. Morbi poseure ante porta justo...</p>
    </li>
    <li>
        <a href="#"><img src="sample-big-product.png" alt="" title="" /></a>
        <span><a href="#">View Product</a></span>

        <h2>Featured product name</h2>
        <p>Lorem ipsum dolor sit amet, cosetur adispci elit. Morbi poseure ante porta justo...</p>
    </li>
    <li>
        <a href="#"><img src="sample-big-product.png" alt="" title="" /></a>
        <span><a href="#">View Product</a></span>

        <h2>Featured product name</h2>
        <p>Lorem ipsum dolor sit amet, cosetur adispci elit. Morbi poseure ante porta justo...</p>
    </li>
</ul>

これが私のjqueryなので、ここではすべてのLIとすべてのULをターゲットにしています。しかし、私はul liをターゲットにしたいだけで、ul liulliはターゲットにしません。

// get all available UL and LI elements...
var li_elements = container.find("LI").clone();

// remove the current content so that we can rebuild it for the slider...
container.find("UL").remove();

ps明らかに私はそれらに.classを追加することができます。しかし、マークアップを複雑にしたくはありません...

4

4 に答える 4

2

>「の直接の子」セレクターを使用します。containerが最上位の親要素を参照する jQuery オブジェクトであると仮定するとul、これは機能するはずです。

var li_elements = container.find("> ul > li").clone();
container.find("> ul").remove();
于 2012-12-13T09:01:11.167 に答える
0

あなたが何を達成したいのかわかりませんが、理解されているように、私はフィドルを作成しました:

http://jsfiddle.net/AFM2P/

このフィドルにはcがreated a hover eventあり、removed the direct children of the hovered ul

( i guess you want to achieve something like this)

これは私が試したことです:

$('ul:first').hover(function(){
    $('ul',this).remove(); //<---------This will remove the child ul 
});                        //           of the hovered ul
于 2012-12-13T09:31:56.560 に答える
0

の直接の子孫のみを選択する場合はul、メソッドを使用します(が要素であると.children仮定します)。containerul

container.children("li");

他の順序付けられていないリストを含む順序付けられていないリストのみを選択する場合は、セレクターを使用できます(が の祖先であると:has()仮定します) 。containerul

container.find("ul:has(ul)");
于 2012-12-13T09:01:42.833 に答える
0

サンドロ、ul li の最初の出現だけが必要で、残りをスキップする場合は、"first()" を使用します。例: .var li_elements = container.find("LI").first()

詳細については、http://api.jquery.com/first/を参照してください。

于 2012-12-13T09:04:48.697 に答える