0

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

这是有问题的页面

http://evanparsons.net/samples.aspx

它现在可以工作了,但是如果我只想查看 AJAX 示例,那么只会显示一个,而不是我总共拥有的三个。如果我能以某种方式将淡入更改为 !important ,我认为这会起作用

我将它作为一个类来定位,所以由于某种原因 .attr 和 .css 不起作用,但是 opacity 起作用。我只是不能在显示属性中设置 !important 。

4

2 回答 2

2

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

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

AJAX != 阿贾克斯

因此,您的 jquery 选择器将不起作用,因为它区分大小写。另外我只能看到 2 个样本,而不是 3 个?

编辑:另外,在连接样本检查的 JS 中,最好使用

$('.samples :checkbox').each(function () {

而不是

$(':checkbox').each(function () {

因为它限制了 jquery 必须迭代的范围。

编辑:

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

$(':checkbox').each(...)

正在工作中;

每次单击某些内容时都会触发检查控件,它会处理所有可以单击的复选框。想象一下,如果你的经历是这样的:

<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 也是如此。

你明白我的意思吗?随后的 .each 迭代正在取消为复选框完成的显示;当您选择的复选框的 ID 出现在 HTML 布局中的实际示例之前。

于 2012-07-03T01:50:37.530 回答
2

您在“AJAX”类而不是“Ajax”下列出了一个 div。改变它为我修复了它。

于 2012-07-03T01:46:38.850 回答