Javascript 选择所有按钮,使用jQuery的按钮除外

Javascript 选择所有按钮,使用jQuery的按钮除外,javascript,jquery,html,Javascript,Jquery,Html,我有以下代码: <div id="filters" class="button-group"> <button class="button is-checked" data-filter="*">Tous</button> <button class="button" data-filter=".image">Photos</button> <button class="button" data-filte

我有以下代码:

<div id="filters" class="button-group">
    <button class="button is-checked" data-filter="*">Tous</button>
    <button class="button" data-filter=".image">Photos</button>
    <button class="button" data-filter=".movie">Vidéos</button>
    <button class="button" data-filter=".text">Text Seulement</button>
    <button class="button" id="sort" data-sort-value="likes">Likes</button>
</div>

你能帮我吗?

你的选择器应该是这样的

$('#filters button').not('#sort')
$(“#过滤器按钮”)。不(“#排序”)。css('background','blue')

图斯
照片
维多斯
文本元素
喜欢

您的选择器应该如下所示

$('#filters button').not('#sort')
$(“#过滤器按钮”)。不(“#排序”)。css('background','blue')

图斯
照片
维多斯
文本元素
喜欢
您可以使用
:not()
选择器,如:

$('#filters button:not("#sort")')
希望这有帮助

$(“#过滤器”按钮:不(#排序)”.prop('disabled','true')

图斯
照片
维多斯
文本元素
喜欢
您可以使用
:not()
选择器,如:

$('#filters button:not("#sort")')
希望这有帮助

$(“#过滤器”按钮:不(#排序)”.prop('disabled','true')

图斯
照片
维多斯
文本元素
喜欢

您可以使用:not jquery选择器

$("#filters button:not(#sort)").on( 'click', function(){...});

*更新以反映OP中的澄清。

您可以使用:not jquery选择器

$("#filters button:not(#sort)").on( 'click', function(){...});

*更新以反映OP.中的澄清。

考虑到id有时不可用,另一种可能性是:

选择除具有数据排序值属性的按钮外的所有按钮:

$('#filters button:not([data-sort-value])')
例如:

<div id="filters" class="button-group">
    <button class="button is-checked" data-filter="*">Tous</button>
    <button class="button" data-filter=".image">Photos</button>
    <button class="button" data-filter=".movie">Vidéos</button>
    <button class="button" data-filter=".text">Text Seulement</button>
    <button class="button" id="sort" data-sort-value="likes">Likes</button>
</div>
<script src="http://code.jquery.com/jquery-3.1.1.min.js" integrity="sha256-hVVnYaiADRTO2PzUGmuLJr8BLUSjGIZsDYGmIJLv2b8=" crossorigin="anonymous"></script>
<script type="text/javascript">
    $(function(){
        $('#sort').siblings('button').click(function(){
            alert('I am not the sort button');
         });
    });
</script>
$(“#过滤器按钮:非([数据排序值]))。每个(函数(索引,元素){
console.log(element.textContent);
});

图斯
照片
维多斯
文本元素
喜欢

考虑到id有时不可用,另一种可能性是:

选择除具有数据排序值属性的按钮外的所有按钮:

$('#filters button:not([data-sort-value])')
例如:

<div id="filters" class="button-group">
    <button class="button is-checked" data-filter="*">Tous</button>
    <button class="button" data-filter=".image">Photos</button>
    <button class="button" data-filter=".movie">Vidéos</button>
    <button class="button" data-filter=".text">Text Seulement</button>
    <button class="button" id="sort" data-sort-value="likes">Likes</button>
</div>
<script src="http://code.jquery.com/jquery-3.1.1.min.js" integrity="sha256-hVVnYaiADRTO2PzUGmuLJr8BLUSjGIZsDYGmIJLv2b8=" crossorigin="anonymous"></script>
<script type="text/javascript">
    $(function(){
        $('#sort').siblings('button').click(function(){
            alert('I am not the sort button');
         });
    });
</script>
$(“#过滤器按钮:非([数据排序值]))。每个(函数(索引,元素){
console.log(element.textContent);
});

图斯
照片
维多斯
文本元素
喜欢
另外:

$('#sort').siblings('button').click(....)
例如:

<div id="filters" class="button-group">
    <button class="button is-checked" data-filter="*">Tous</button>
    <button class="button" data-filter=".image">Photos</button>
    <button class="button" data-filter=".movie">Vidéos</button>
    <button class="button" data-filter=".text">Text Seulement</button>
    <button class="button" id="sort" data-sort-value="likes">Likes</button>
</div>
<script src="http://code.jquery.com/jquery-3.1.1.min.js" integrity="sha256-hVVnYaiADRTO2PzUGmuLJr8BLUSjGIZsDYGmIJLv2b8=" crossorigin="anonymous"></script>
<script type="text/javascript">
    $(function(){
        $('#sort').siblings('button').click(function(){
            alert('I am not the sort button');
         });
    });
</script>

图斯
照片
维多斯
文本元素
喜欢
$(函数(){
$('#排序')。同级('按钮')。单击(函数(){
警报(“我不是排序按钮”);
});
});
我会做这项工作的。这将确保仅div内的按钮(排序按钮的同级)受到影响。

此外:

$('#sort').siblings('button').click(....)
例如:

<div id="filters" class="button-group">
    <button class="button is-checked" data-filter="*">Tous</button>
    <button class="button" data-filter=".image">Photos</button>
    <button class="button" data-filter=".movie">Vidéos</button>
    <button class="button" data-filter=".text">Text Seulement</button>
    <button class="button" id="sort" data-sort-value="likes">Likes</button>
</div>
<script src="http://code.jquery.com/jquery-3.1.1.min.js" integrity="sha256-hVVnYaiADRTO2PzUGmuLJr8BLUSjGIZsDYGmIJLv2b8=" crossorigin="anonymous"></script>
<script type="text/javascript">
    $(function(){
        $('#sort').siblings('button').click(function(){
            alert('I am not the sort button');
         });
    });
</script>

图斯
照片
维多斯
文本元素
喜欢
$(函数(){
$('#排序')。同级('按钮')。单击(函数(){
警报(“我不是排序按钮”);
});
});

我会做这项工作的。这将确保仅div内的按钮(排序按钮的同级)受到影响。

单击按钮的id不是
排序

$('#filters').on( 'click', 'button:not("#sort")', function() {
...
    }

点击按钮的id不是
排序

$('#filters').on( 'click', 'button:not("#sort")', function() {
...
    }

$(“[数据过滤器]”)
将起作用
$(“[数据过滤器]”)
将起作用$(“#过滤器按钮”)。不(“#排序”)。在('click',button',function(){…}上不起作用。没有恢复任何按钮。这是我的错,我没有说它用于('click'…)上的函数。是的,因为您将它更改为。on('click','button',function()。on()('click',function()$('click',filters button')。不是('sort')。on('click',button',function(){…}不起作用。没有恢复任何按钮。这是我的错,我没有说它是用于('click',filters button')上的函数,是因为您更改了它。on('click',button',function())改为.on('click',function()$)(“'filters button:不是('sort')))。on。on('click'、'button',function(){…}不起作用。没有恢复任何按钮。这是我的错,我没有说它用于('click')@PierreDommerc您不需要在'click'之后指定'button'。#sort周围的单引号也可能会将其丢弃。请尝试以下操作:
$(“#过滤器按钮:不(#sort)”。on('click',function(){…})
$(“#过滤器按钮:不('#排序'))”)。在('click','button',function(){…}上不起作用。没有按钮被恢复。这是我的错。我没有说它是用于('click'…)上的函数。@PierreDommerc您不需要在'click'后指定'button'。#sort周围的单引号也可能会将其丢弃。试试这个:
$(“#过滤器按钮:不(#排序)”)。在('click',function(){…})
上,我编辑了我的问题,因为我忘了说它是用于('click'…)上的函数。对不起!别担心。很高兴你解决了你的问题。谢谢,所以muchI编辑了我的问题,因为我忘了说它是用于('click'…)上的函数的。抱歉!别担心。很高兴你解决了你的问题。谢谢,所以muchI编辑了我的问题,因为我忘了说它是用于('单击'…)上的函数。抱歉!我编辑了我的问题,因为我忘了说它是用于('单击'…)上的函数的。抱歉!我编辑了我的问题,因为我忘了说它是用于('click'…)上的函数。抱歉!这仍然有效,您只需在最后添加click函数以添加click事件处理程序。我编辑了答案以显示一个示例我编辑了我的问题,因为我忘了说它是用于('click')上的函数('click'…)。抱歉!这种方式仍然有效,您只需在最后添加click函数以添加click事件处理程序。我编辑了答案以显示一个示例