簡體   English   中英

如何設置此條件? (Jquery的/ JavaScript的)

[英]how can I set this conditions? (Jquery/javascript)

感謝您的時間,首先,我是一個Noobie,他一直在用自己的JavaScript學習,因此我無法很好地控制選擇器來實現我想要的功能。 這是我的問題:

HTML

<ul id='stuff' class='goods'>
<li>list item 1</li>
<li>list item 2</li>
<li>list item 3</li>
<li><span class='highlighted'>list item 4</span></li>
<li>list item 5</li>
</ul>

<ul id='stuff2' class='goods'>
<li>list item 1</li>
<li>list item 2</li>
<li>list item 3</li>
<li>item 4</li>
<li>list item 5</li>
</ul>

CSS

.highlighted{
    color: red;
}

.goods{
    border:1px solid red;
    cursor: pointer; 
    padding: 0px;
    list-style: none;   
}

.match_group{
    border: 1px solid black;    
}

看這里pelase:* http://jsfiddle.net/nero_noob_123/ctcn7kfy/2/

基本上,我想用jquery和javascript實現以下內容...。但是我不知道如何將其寫為條件,因此請嘗試按以下方式閱讀:

$('#stuff2').addClass('match_group');

$('#stuff2').addClass('match_group');

if($('li').has('span.highlighted').length){ //so span exist!
        $('span.highlighted').closest('.goods').addClass('match_group');
    }else if($('.goods').hasClass('match_group') && // span.highlight DOESN'T EXIST inside .goods) { 
/// remove the match_group class from '.goods' where span.highlight doesn't exist
    }else{ if any of the '.goods' classes has span.highlighted inside them, don not apply .match_group

    }

希望我已經說清楚了,很抱歉,根據目前對JQ和javascript的了解,這是我能做的最好的事情

PD:隨時修改我編寫的簡短代碼以實現我的需要,謝謝!

您可以將第二個參數傳遞給toggleClass ,以打開或關閉指定的類。 https://api.jquery.com/toggleClass/

那可以是一個布爾值, 或者 (並且似乎沒有記載)它可以是一個返回布爾結果的函數!

$('.goods').toggleClass('match_group', function() {return $(this).has("span.highlighted");});

JSFiddle: http : //jsfiddle.net/TrueBlueAussie/ctcn7kfy/4/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM