错误的类被触发

时间:2013-07-31 21:11:40

标签: javascript jquery jquery-mobile javascript-events

我有一个像这样的HTML

<div id="jquery-modal" class="close" style="position: absolute; top: 0px; right: 0px; left: 0px; background-color: rgba(0, 0, 0, 0.701961); z-index: 5; height: 653px; background-position: initial initial; background-repeat: initial initial;">
    <div class="myclass" data-multiselect="0" style="height: 633px; top: 10px; display: block;"></div>
    <div class="myclass" data-multiselect="1" style="height: 633px; top: 10px; display: block;"></div>
</div>

请注意上面html中的多选1和0 现在在我的js我根据multiselect应用切换。问题是,当我点击myclass div与data-multiselect =&#34; 1&#34;它仍然用data-multiselect = 0抓住它上面的div 我怎样才能修复我的js来处理这个问题。这是我的js

function onClickingLi(event) {     
    var Selector = $('#jquery-modal').children('.myclass');
    var isMultiselect = Selector.data('multiselect');
    if (isMultiselect) {
         $(event.target).toggleClass('selected');
    }
    else {
        Selector.find('li.selected').removeClass('selected')
    }
}

1 个答案:

答案 0 :(得分:3)

$('#jquery-modal').children('.myclass');

将获取2个元素(jQuery对象)

<div class="myclass" data-multiselect="0" 
<div class="myclass" data-multiselect="1" 

因此,当您尝试使用此var isMultiselect = Selector.data('multiselect');时,它将始终获取具有multiselect=0

的类的第一个实例

因此,您需要提及点击事件的绑定方式,以及更轻松地定位特定课程。