0

LI のいずれかが選択された場合にアクションを実行するコードに取り組んでいます。したがって、最初の LI の 1 つが「現在」である場合、それに対してアクションを実行したい場合、コードは次のとおりです。

<div id="types">
    <div id="division1">
        <ul id="selection1">
            <li id="current"><a href="#" name="1-1"></a> </li>
            <li><a href="#" name="1-2"></a></li>
            <li><a href="#" name="1-3"></a></li>
        </ul>
    </div>
    <div id="division2">
        <ul id="selection2">
            <li><a href="#" name="2-1"></a></li>
            <li><a href="#" name="2-2"></a></li>
            <li><a href="#" name="2-3"></a></li>
        </ul>
    </div>
</div>

jQuery:

if (jQuery("#types div ul:nth-child(1)").attr("ID") == "current") {
    *do this*
}

誰が私が間違っているのか知っていますか?

4

2 に答える 2

4

ul現在の ID はありませんが、liあります

これを試して -

if (jQuery("#types div ul:nth-child(1) li:first").attr("ID") == "current") {
    *do this*
}
于 2013-05-17T09:26:43.267 に答える
0

私はここに私の2セントを投げます

if($('#types div ul > li:first').is('#current')){
    *do this*
}

疑似セレクターを 1 つ、余分な関数呼び出しを 1 つ、ビルトインの比較を 1 つ捨てましたis()

そして、デモ用のフィドルを作りました

アップデート

あなたが間違っていdisplay:noneたのは、親 div に設定していて、子に#Uitleg1, #Uitleg2しようとしたときに..show()display:none

CSS を新しいセレクターで更新しました。

#Uitleg1, #Uitleg2 div {
    display: none;
}

その上のものから削除さdisplay: none;れます。コードが期待どおりに機能するようになりました。

デモ用に別のFiddle を作成

于 2013-05-17T09:32:44.737 に答える