以jquery为目标并更改css属性的类

以jquery为目标并更改css属性的类,jquery,css,target,Jquery,Css,Target,我的投资组合设置方式是,如果潜在雇主希望看到某些编程语言,比如说PHP,他们勾选PHP框,所有涉及PHP的示例都会显示出来(可能来自CMS,也可能只是直接的PHP) 这是有问题的那一页 它现在可以工作了,但是如果我只想看到AJAX示例,只会显示一个,而不是我总共看到的三个。如果我能改变淡入状态,让自己有一个新的开始!重要的是,我认为这会奏效 我把它定位为一个类,所以出于某种原因.attr和.css不起作用,但是不透明性起作用。我就是无法设定!在display属性中很重要。您的一个div列在类“

我的投资组合设置方式是,如果潜在雇主希望看到某些编程语言,比如说PHP,他们勾选PHP框,所有涉及PHP的示例都会显示出来(可能来自CMS,也可能只是直接的PHP)

这是有问题的那一页

它现在可以工作了,但是如果我只想看到AJAX示例,只会显示一个,而不是我总共看到的三个。如果我能改变淡入状态,让自己有一个新的开始!重要的是,我认为这会奏效


我把它定位为一个类,所以出于某种原因.attr和.css不起作用,但是不透明性起作用。我就是无法设定!在display属性中很重要。

您的一个div列在类“AJAX”下,而不是“AJAX”下。更改该选项为我修复了它。

您的一个div列在“AJAX”类下,而不是“AJAX”类下。更改此选项为我解决了问题。

在您展示的示例中,单击Ajax时显示的唯一Ajax示例是具有类“Ajax”的示例,该类是“Silverstripe 2.4的共享事件日历模块”

您只有另外一个ajax示例,它的类ajax不匹配,因为它与ajax不是字符串匹配

阿贾克斯!=阿贾克斯

因此jquery选择器无法工作,因为它区分大小写。 而且我只能看到2个样品,而不是3个

编辑:另外,在连接示例检查的JS中,使用

$('.samples :checkbox').each(function () {
而不是

$(':checkbox').each(function () {
因为它限制了jquery必须迭代的范围

编辑:

为了解释为什么一些样本被隐藏,这是因为你的

$(':复选框')。每个(…)

正在工作

每次单击某个对象时,Check控件都会激发,并且它会处理所有可以单击的复选框。 想象一下,如果你的经历是这样的:

<div class='samples'>
    <div class='asp'>...</div>
    <div class='php asp'>...</div>
    <div class='php django'>
</div>

...
...
如果单击“ASP”复选框,它将循环并说“ok show sample 1”,因为它包含ASP,然后它将循环并说“show sample 2”,因为它包含ASP,然后它将再次循环并看到示例3中没有ASP,因此它将隐藏它

然后它循环到下一个复选框(为了称为PHP的参数);它从样本2开始(因为.each循环),并看到它没有被选中,所以它隐藏了样本2,即使它之前显示过,对于样本3也是如此


你明白我的意思吗?后续。每次迭代都会取消为复选框所做的显示;当所选复选框的ID显示在HTML布局中的实际示例之前时。

在所示示例中,单击Ajax时显示的唯一Ajax示例是具有类“Ajax”的示例,该类是“Silverstripe 2.4的共享事件日历模块”

您只有另外一个ajax示例,它的类ajax不匹配,因为它与ajax不是字符串匹配

阿贾克斯!=阿贾克斯

因此jquery选择器无法工作,因为它区分大小写。 而且我只能看到2个样品,而不是3个

编辑:另外,在连接示例检查的JS中,使用

$('.samples :checkbox').each(function () {
而不是

$(':checkbox').each(function () {
因为它限制了jquery必须迭代的范围

编辑:

为了解释为什么一些样本被隐藏,这是因为你的

$(':复选框')。每个(…)

正在工作

每次单击某个对象时,Check控件都会激发,并且它会处理所有可以单击的复选框。 想象一下,如果你的经历是这样的:

<div class='samples'>
    <div class='asp'>...</div>
    <div class='php asp'>...</div>
    <div class='php django'>
</div>

...
...
如果单击“ASP”复选框,它将循环并说“ok show sample 1”,因为它包含ASP,然后它将循环并说“show sample 2”,因为它包含ASP,然后它将再次循环并看到示例3中没有ASP,因此它将隐藏它

然后它循环到下一个复选框(为了称为PHP的参数);它从样本2开始(因为.each循环),并看到它没有被选中,所以它隐藏了样本2,即使它之前显示过,对于样本3也是如此


你明白我的意思吗?后续。每次迭代都会取消为复选框所做的显示;当您选择的复选框的ID出现在HTML布局中的实际示例之前时。

嘿,这只是一个示例,但是如果您只选择Javascript,我的AJAX/JSON照片库示例不会出现。我相信这是从没有显示的AJAX示例中取消的。我将更新我的答案来解释为什么会发生这种情况,给我一分钟左右的时间……解决这个问题的一个可能方法是在CheckControl第一次触发时隐藏所有示例;然后只使用这个选择器$('input:checkbox:checked'),然后只使这些匹配可见;根本不要使用else子句!唯一的潜在问题是当隐藏它可能会使页面弹出时,您可能需要使用快速动画首先关闭所有$('input:checkbox')div。明白了!你就是那个人!另外,我知道是什么造成了这个问题,我只是很难纠正它:非常感谢,你的解决方案非常干净。嘿,这只是一个例子,但是如果你只选择Javascript,我的AJAX/JSON照片库示例不会出现。我相信这是从没有显示的AJAX示例中取消的。我将更新我的答案来解释为什么会发生这种情况,给我一分钟左右的时间……解决这个问题的一个可能方法是在CheckControl第一次触发时隐藏所有示例;然后只使用这个选择器$('input:checkbox:checked'),然后只使这些匹配可见;根本不要使用else子句!唯一的潜在问题是当隐藏它可能会使页面弹出时,您可能需要使用快速动画首先关闭所有$('input:checkbox')div。明白了!你就是那个人!另外,我知道是什么造成了这个问题,我只是很难纠正它:非常感谢,你的解决方案非常干净。