jQuery select class 但不是某些数据属性
jQuery select class but not certain data attributes
我正在尝试 select 某些 class 的多个 div 元素,但没有某些数据属性。例如,我有 12 个 div 的数据属性从 1 到 12,我想 select 除了那些数据属性为 1、11 和 12 的数据之外的所有数据。这是我的(不工作的)代码到目前为止:
$('div.randomize_class [data-value!=1],[data-value!=11],[data-value!=12]');
目的是仅混洗匹配的 divs 并最终在末尾附加属性 1、11 和 12。洗牌功能很好用,它只是 selecting select class.
的一个子集
所以在洗牌之后,我只想 select 那些具有数据属性 1、11 和 12 的数据。我试过这个:
$('.randomize_class [data-value=1],[data-value=11],[data-value=12]')
很乐意提供任何帮助!非常感谢。
您应该将 .filter()
与属性值 select 或
结合使用
到select只有数据属性为1、11和12的那些
$('.randomize_class').filter('[data-value=1],[data-value=11],[data-value=12]')
到select除数据属性1、11、12以外的所有:not() Selector or .not()功能排除元素
$('.randomize_class').filter(':not([data-value=1]),:not([data-value=11]),:not([data-value=12])')
或
$('div.randomize_class').not('[data-value=1],[data-value=11],[data-value=12]');
您需要使用 .not() 来排除那些项目
$('div.randomize_class').not('[data-value!=1],[data-value!=11],[data-value!=12]');
您的选择器 .randomize_class [data-value=1],[data-value=11],[data-value=12]
将使用 data-value=1
获取 randomize_class
下的所有元素以及使用 data-value=11
或 data-value=12
[=17= 获取页面中的所有元素]
你说过你们都想不 selectdata-value=1
(以及11和12),而且你做想要。
对于不是的情况,可以使用:not
:
$('div.randomize_class:not([data-value=1]):not([data-value=11]):not([data-value=12])');
...它的优点是也可以在 CSS 中工作(我不认为这真的适用于此),前提是您只在 :not
中使用 simple selectors(如 CSS 定义 :not
只需要简单的 select 或;jQuery 更进一步)。
或其堂兄 .not
(:not
文档建议通常是更好的选择):
$('div.randomize_class').not('[data-value=1], [data-value=11], [data-value=12])');
对于 selecting 仅 data-value=1
(以及 11 和 12)的选项,您可以使用简单的属性 select或系列:
$('div.randomize_class[data-value=1], div.randomize_class[data-value=11], div.randomize_class[data-value=12])');
$('.randomize_class:not([data-value="1"],[data-value="11"],[data-value="12"])')
我正在尝试 select 某些 class 的多个 div 元素,但没有某些数据属性。例如,我有 12 个 div 的数据属性从 1 到 12,我想 select 除了那些数据属性为 1、11 和 12 的数据之外的所有数据。这是我的(不工作的)代码到目前为止:
$('div.randomize_class [data-value!=1],[data-value!=11],[data-value!=12]');
目的是仅混洗匹配的 divs 并最终在末尾附加属性 1、11 和 12。洗牌功能很好用,它只是 selecting select class.
的一个子集所以在洗牌之后,我只想 select 那些具有数据属性 1、11 和 12 的数据。我试过这个:
$('.randomize_class [data-value=1],[data-value=11],[data-value=12]')
很乐意提供任何帮助!非常感谢。
您应该将 .filter()
与属性值 select 或
到select只有数据属性为1、11和12的那些
$('.randomize_class').filter('[data-value=1],[data-value=11],[data-value=12]')
到select除数据属性1、11、12以外的所有:not() Selector or .not()功能排除元素
$('.randomize_class').filter(':not([data-value=1]),:not([data-value=11]),:not([data-value=12])')
或
$('div.randomize_class').not('[data-value=1],[data-value=11],[data-value=12]');
您需要使用 .not() 来排除那些项目
$('div.randomize_class').not('[data-value!=1],[data-value!=11],[data-value!=12]');
您的选择器 .randomize_class [data-value=1],[data-value=11],[data-value=12]
将使用 data-value=1
获取 randomize_class
下的所有元素以及使用 data-value=11
或 data-value=12
[=17= 获取页面中的所有元素]
你说过你们都想不 selectdata-value=1
(以及11和12),而且你做想要。
对于不是的情况,可以使用:not
:
$('div.randomize_class:not([data-value=1]):not([data-value=11]):not([data-value=12])');
...它的优点是也可以在 CSS 中工作(我不认为这真的适用于此),前提是您只在 :not
中使用 simple selectors(如 CSS 定义 :not
只需要简单的 select 或;jQuery 更进一步)。
或其堂兄 .not
(:not
文档建议通常是更好的选择):
$('div.randomize_class').not('[data-value=1], [data-value=11], [data-value=12])');
对于 selecting 仅 data-value=1
(以及 11 和 12)的选项,您可以使用简单的属性 select或系列:
$('div.randomize_class[data-value=1], div.randomize_class[data-value=11], div.randomize_class[data-value=12])');
$('.randomize_class:not([data-value="1"],[data-value="11"],[data-value="12"])')