【问题标题】:jquery select by attribute using AND and OR operator part 2 [closed]jquery使用AND和OR运算符按属性选择第2部分[关闭]
【发布时间】:2013-12-26 06:49:09
【问题描述】:

我看了question

他需要知道$( [myc="blue"] AND ([myid="1"] OR [myid="3"]) )
最后一个答案是$('[myc="blue"][myid="1"],[myc="blue"][myid="3"]')

现在我需要使用更多条件 喜欢 -> $( ([myc="blue"] OR [myc="red"]) AND ([myid="1"] OR [myid="3"]) )

请给我指路T.T

【问题讨论】:

  • $( ([myc="blue"] OR [myc="red"]) AND ([myid="1"] OR [myid="3"]) ) : 与 $('[myc="blue"],[myc="red"],[myid="1"],[myid="3"]') 中只有 OR 有何不同?
  • @dystroy 它是不同的。与 ((true or false) AND (false or false)) 相同;这将在原始帖子中失败,而您的则不会
  • 您的意思是blue and 1blue and 2red and 1red and 2
  • @melc 是的,而且我的项目有更多的条件,代码可以更聪明吗?
  • 请提高你的英语,它几乎看不懂。 (我自己不是以英语为母语的人)

标签: javascript jquery


【解决方案1】:

你的表情

$( ([myc="blue"] OR [myc="red"]) AND ([myid="1"] OR [myid="3"]) )

可以开发成

$( [myc="blue"] AND [myid="1"] 
  OR [myc="blue"] AND [myid="3"]
  OR [myc="red"] AND [myid="1"] 
  OR [myc="red"] AND [myid="3"] )

试试这个代码:

$('[myc="blue"][myid="1"],[myc="blue"][myid="3"],[myc="red"][myid="1"],[myc="red"][myid="3"]')

【讨论】:

  • 我认为这不会发生[myc="blue"][myc="red"]
  • 对不起,我打错了,看我更正的答案
【解决方案2】:

为了不必写下所有可能的属性组合,请使用.filter

$('[myc="blue"], [myc="red"]').filter('[myid="1"], [myid="3"]');

这将选择所有具有myc 属性且值为“blue”或“red”的元素。然后它将集合减少为也具有myid 属性值“1”或“3”的元素。

如果您花一点时间和have a look at all the possible selectors,您可以自己找出解决此类问题的方法。

【讨论】:

  • 我的项目成功了!使用像 $('ul[data*="checkA1"], [data*="checkA2"]').filter('ul[data*="checkB1"], [data*="checkB3"]')。过滤器('ul[data*="checkC1"], [data*="checkC5"]');
猜你喜欢
  • 2012-05-28
  • 1970-01-01
  • 1970-01-01
  • 2014-09-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多