0

我有一个这样的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 中我正在根据多选应用切换。问题是当我单击带有 data-multiselect="1" 的 myclass div 时,它仍然使用 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')
    }
}
4

1 回答 1

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

因此,您需要提及 click 事件是如何绑定的,以及如何绑定到哪个将使定位特定类变得容易得多。

于 2013-07-31T21:15:21.087 回答