假设你有这个HTML:
<button class="btn btn-default dropdown-toggle" data-toggle="dropdown" type="button" aria-expanded="true">
<span class="visible-sm-inline visible-md-inline visible-lg-inline">Sort by</span>
<span class="visible-xs-inline"><i class="fa fa-fw fa-sort"></i></span>
<span class="caret"></span>
</button>
<ul class="dropdown-menu pull-right">
<li><a href="#" class="newest_to_oldest" data-sort="newest_to_oldest"><i class="fa fa-fw"></i> Newest to Oldest</a></li>
<li><a href="#" class="oldest_to_newest" data-sort="oldest_to_newest"><i class="fa fa-fw"></i> Oldest to Newest</a></li>
<li><a href="#" class="most_posts" data-sort="most_posts"><i class="fa fa-fw"></i> Most posts</a></li>
<li><a href="#" class="zero" data-sort="zero"><i class="fa fa-fw"></i> Post senza risposta</a></li>
<li><a href="#" class="most_views" data-sort="most_views"><i class="fa fa-fw fa-check"></i> Most Views</a></li></ul>
我需要检测何时点击其他标签,除了:
<a href="#" class="most_views" data-sort="most_views"><i class="fa fa-fw fa-check"></i> Most Views</a></li></ul>
我在jQuery中试过这个:
$('a[data-sort!="most_views"]').click(function(){
console.log("HI");
});
有没有人可以帮助我?
答案 0 :(得分:1)
试试这个:
$(function() {
$('[data-sort]').click(function() {
if ($(this).is(':not([data-sort="most_views"])')) {
console.log('not most views');
}
});
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul class="dropdown-menu pull-right">
<li><a href="#" class="newest_to_oldest" data-sort="newest_to_oldest"><i class="fa fa-fw"></i> Newest to Oldest</a></li>
<li><a href="#" class="oldest_to_newest" data-sort="oldest_to_newest"><i class="fa fa-fw"></i> Oldest to Newest</a></li>
<li><a href="#" class="most_posts" data-sort="most_posts"><i class="fa fa-fw"></i> Most posts</a></li>
<li><a href="#" class="zero" data-sort="zero"><i class="fa fa-fw"></i> Post senza risposta</a></li>
<li><a href="#" class="most_views" data-sort="most_views"><i class="fa fa-fw fa-check"></i> Most Views</a></li></ul>
&#13;
或
$(function() {
$('[data-sort]:not([data-sort="most_views"])').click(function() {
console.log('not most views');
});
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul class="dropdown-menu pull-right">
<li><a href="#" class="newest_to_oldest" data-sort="newest_to_oldest"><i class="fa fa-fw"></i> Newest to Oldest</a></li>
<li><a href="#" class="oldest_to_newest" data-sort="oldest_to_newest"><i class="fa fa-fw"></i> Oldest to Newest</a></li>
<li><a href="#" class="most_posts" data-sort="most_posts"><i class="fa fa-fw"></i> Most posts</a></li>
<li><a href="#" class="zero" data-sort="zero"><i class="fa fa-fw"></i> Post senza risposta</a></li>
<li><a href="#" class="most_views" data-sort="most_views"><i class="fa fa-fw fa-check"></i> Most Views</a></li></ul>
&#13;
答案 1 :(得分:0)
为除了您不想要的元素之外的每个元素添加第二个类,并使用该类来检测onclick事件。