Javascript 如果我将jQuery选择器的结果分配给一个变量,我如何进一步过滤它?

Javascript 如果我将jQuery选择器的结果分配给一个变量,我如何进一步过滤它?,javascript,jquery,Javascript,Jquery,我有这个: var startDate = $(".startdate"); …应选择类为“startdate”的所有元素 然后,我尝试执行以下操作: startDate(".nodate").hide(); …使用“nodate”css类隐藏任何元素,但此操作失败 我只是在猜语法,我犯了什么愚蠢的错误 编辑:“节点日期”元素与“开始日期”元素不在同一级别。我应该发布一个XHTML代码片段。startDate不是一个函数,它是一个jQuery对象。您试图做的是: startDate.filt

我有这个:

var startDate = $(".startdate");
…应选择类为“startdate”的所有元素

然后,我尝试执行以下操作:

startDate(".nodate").hide();
…使用“nodate”css类隐藏任何元素,但此操作失败

我只是在猜语法,我犯了什么愚蠢的错误


编辑:“节点日期”元素与“开始日期”元素不在同一级别。我应该发布一个XHTML代码片段。

startDate不是一个函数,它是一个jQuery对象。您试图做的是:

startDate.filter(".nodate").hide();
这与直接使用相同:

$(".startdate.nodate").hide();
但你的问题又一次让我觉得不太清楚- 您是否试图隐藏同时具有startdate和nodate类的元素


编辑:很抱歉,过滤器有问题。

startDate不是一个函数,它是一个jQuery对象。您试图做的是:

startDate.filter(".nodate").hide();
这与直接使用相同:

$(".startdate.nodate").hide();
但你的问题又一次让我觉得不太清楚- 您是否试图隐藏同时具有startdate和nodate类的元素


编辑:很抱歉,过滤器出现了问题。

我想您需要:If用类nodate隐藏所有元素

$(".nodate").hide()

我认为您想要:如果要用类nodate隐藏所有元素

$(".nodate").hide()
试用

试用


有两种方法:

$('.startdate').find('.nodate').hide();
$('.nodate','.startdate').hide()
$('.startdate > .nodate').hide()
$('.startdate').children('.nodate').hide()
$('.nodate').filter(':parent(is(.startdate))')

我更喜欢的方法是第一种,我在某处看到了第二种,但没有使用它。我还不记得还有别的办法。当我记起的时候,我会更新帖子。

有两种方法:

$('.startdate').find('.nodate').hide();
$('.nodate','.startdate').hide()
$('.startdate > .nodate').hide()
$('.startdate').children('.nodate').hide()
$('.nodate').filter(':parent(is(.startdate))')

我更喜欢的方法是第一种,我在某处看到了第二种,但没有使用它。我还不记得还有别的办法。当我记起的时候,我会更新帖子。

-1,has会保留包含nodate类的子元素的元素是的,我一定很累了,谢谢你指出这个@orip,我已经编辑了答案。不过,看起来你可能对格式有点拙劣-1,has将保留包含nodate类的子元素的元素是的,我一定很累了,感谢您指出这一点@orip,我已经编辑了答案。不过,看起来您可能对格式有点拙劣。:'“筛选器”未找到任何具有类“nodate”的子元素?筛选器筛选原始集合,但不搜索子元素。如果您希望子元素在问题中不清楚,则“查找”是您要查找的内容。“筛选”未找到任何具有类“nodate”的子元素?筛选筛选原始集合,它不搜索子元素。如果你想知道问题中的子元素不清楚,那么find就是你要找的。我认为第二个是无效的-你说你没有用过它。第一个很好,谢谢。谢谢,@Neil接受了我的回答。第二个也可以,我在stackoverflow中测试了你的问题页面。刚刚在控制台$'.container','.question page'中通过此代码。隐藏'slow'。你会看到魔法:。第二个参数接受容器第一个'.startdate>.nodate',子项和筛选器:父项。。。建议只适用于直系子女。前两个可以找到任何子元素。由于行为不同,你可以考虑编辑答案……ORIP,谢谢你的解释。是不是只有一级@尼尔没有提到,所以我添加了这些选项。最好有很多选择,不是吗:我不认为第二个是有效的——你说过你没有用过。第一个很好,谢谢。谢谢,@Neil接受了我的回答。第二个也可以,我在stackoverflow中测试了你的问题页面。刚刚在控制台$'.container','.question page'中通过此代码。隐藏'slow'。你会看到魔法:。第二个参数接受容器第一个'.startdate>.nodate',子项和筛选器:父项。。。建议只适用于直系子女。前两个可以找到任何子元素。由于行为不同,你可以考虑编辑答案……ORIP,谢谢你的解释。是不是只有一级@尼尔没有提到,所以我添加了这些选项。最好有很多选择,不是吗: