1

我高高在低。一键更改 CSS 元素中的单个属性,或更改单个 CSS 元素中的多个属性,或通过单个更改更改类都有答案 - 但所有这些都是线性的。

我试图有一个 ONE CLICK 事件,例如,我单击我设置的按钮(或链接等)。让我们将此 ID 称为#myClickButton。然后,此按钮应将两个单独的 id 的 css 属性更改为两个不同的值。我们将这些 ID 称为 #myCssChange1 和 #myCssChange2。

我单击#myClickButton。然后 #myCssChange1 从 display: block; --> 显示:无;同时 #myCssChange2 从 display: none; --> 显示:[novaluehere];

这些必须同时发生(或者尽可能接近计算机执行代码必须采取的逐步操作)。

我敢肯定这非常简单......我只是想找到它的 jquery(不是 CSS 或 HTML)

到目前为止我的代码(是的,我意识到它是不正确的 - 它不起作用,但它确实隐藏了第一个 CSS,所以它的一部分起作用):

    $(document).ready(function()
      {
        $("#myClickButton").click(function()
          {
            $("#myCssChange1").css('display', 'none');
            $("#myCssChange2").css('display', '');
          }
        );
      }
    );
4

3 回答 3

1

您的代码实际上是有效的(假设您尝试丢弃设置的显示值,例如 none)。在这里它作为 JSFiddle 运行。我猜你要么没有加载 JQuery,要么你的 HTML 中的 ID 与上面描述的不同,如果它不适合你的话。

此外,如果您只是显示和隐藏元素,jQuery 也有相应的方法。它们非常有用,只是show()hide()

于 2012-11-14T19:57:02.627 回答
1

关闭,您需要指定其他内容,而不是''将显示更改为。

$(document).ready(function(){
    $("#myClickButton").click(function(){
        $("#myCssChange1").css('display', 'none');
        $("#myCssChange2").css('display', 'block'); // or inline, etc
    });
});
于 2012-11-14T19:48:11.107 回答
0

首先 - 谢谢大家的回复。知道我的代码(大部分)是功能性的是一个很大的帮助(因为我在自学,所以我经常让自己发疯)。外部资源同样是一个很大的帮助。

我不知道我不能向 CSS 返回无值。学过的知识。但是,为了更清楚起见,这个特殊问题是最初可见的第一个对象 (#myCssChange1) 是一个带有文本块的 div。最初隐藏的第二个对象 (#myCssChange2) 是一个 div,其中包含一个表格。无论出于何种原因,将 #myCssChange2 表的“显示”设置为“无”以外的任何内容都会导致压缩的 DIV 位于拒绝展开以显示该表的一侧(基本上是一个没有任何内容的封闭条)。

由于提到了 .hide() 和 .show() 建议,我偶然发现了另一个选项,那就是在 CSS 中使用“可见性”而不是显示。这解决了我在生成 HTML 输出时遇到的问题。

所以我用:

    $(document).ready(function()
      {$("#myClickButton").click(function()
          {$("#myCssChange1").css('visibility', 'hidden');
           $("#myCssChange2").css('visibility', 'visible');
          });
      });

这似乎更宽容一些,虽然不如显示器灵活,但它很好地处理了扭结。

再次感谢大家,非常感谢,如果没有你们的所有意见,我至少会多呆一个星期。

于 2012-11-15T03:50:47.037 回答