多个类的选择不起作用

时间:2016-07-30 21:12:10

标签: javascript jquery html css angularjs

这是我的JS

$('.normal-box').click(function(){
    //unique row id
   var id = $(this).data('row-id');
   //its index according to the content array
   var index = $(this).data('index');
   //which card does this row belong to
   var card_name = $(this).data('id');
   var card;
   console.log(id) //el id de noten es de por si "link last_updated" concatenado
   switch(card_name){
       case "noten" : card = Unidos.CardManager.getCard(card_name); break;
       case "nachricht" : card = Unidos.CardManager.getCard(card_name); break;
       default : return false;
   }
   card.resetPriorityWhenClickedOn(id);
});

我的HTML

 <script id="nachricht_card_row_template" type="text/html">
            <div class="normal-box" data-row-id="{{id}}">
                        <div class="img-box">
                            {{#if channel.image}}
                            <img src="{{channel.image}}" vspace="3">
                            {{/if}}
                        </div>
                        <div class="subtitle-box" id="nachrichten-subtitle-box">
                            <span class="options-title" id="title-text">{{channel.name}}</span>
                        </div>
                        <div class="side-text-box">
                            <span class="side-text">{{formatDate datetime}}</span>
                        </div>
                        <div class="small-text">
                            <div class="normal-text"><span class="text-formating">{{text}}</span></div>
                        </div>
            </div>
        </script>

我的CSS

.normal-box{ /*Container of other tiny boxes*/
    height: 70px;
    border-bottom: 1px solid;
    border-bottom-color: gainsboro;
    overflow: hidden;
    opacity: 0;
    transition: opacity 0.5s ease 0.3s;
}
.normal-box.show{
    opacity: 1;
}

正如你所看到的,我想选择$('.normal-box),但我有另一个函数,它添加了一个类.normal-box show ...使用上面的代码,我只能制作。 normal-box元素工作,而不是.normal-box show ...这就是我对.normal-box show clases的意思:enter image description here

我已经尝试过这个:

$('.normal-box, .normal-box show)
$('.normal-box, .show)
$('.normal-box.normal-box show)
$('.normal-box.show)

它们都不起作用。任何帮助将不胜感激

2 个答案:

答案 0 :(得分:2)

通常,$('.normal-box')将匹配任何具有类normal-box的元素,除非动态添加元素,然后您需要使用这样的事件委派:

$(document).on('click', '.normal-box', function(){
   //Your code here
});

我希望这会有所帮助。

答案 1 :(得分:0)

试试这个

$('.normal-box.show');