我看起来又高又低。有一个答案可以单击更改CSS元素中的单个属性,或者在单个CSS元素中更改多个属性,或者使用单个更改更改类 - 但所有这些都是线性的。
我正在尝试进行ONE CLICK事件,例如,我点击我设置的按钮(或链接等)。我们称之为#myClickButton。然后,此按钮应将两个单独的id的css属性更改为两个不同的值。我们将这些ID称为#myCssChange1和#myCssChange2。
我点击#myClickButton。 那么#myCssChange1来自display:block; - > display:none; 同时#myCssChange2来自display:none; - >显示:[novaluehere];
这些必须同时发生(或者尽可能接近计算机必须采取的逐步操作来执行代码)。
我确信这非常简单......我只是想找到它的jquery(不是CSS或HTML)
我的代码到目前为止(是的,我意识到它是不正确的 - 它不起作用,但它隐藏了第一个CSS,因此它的一部分功能):
$(document).ready(function()
{
$("#myClickButton").click(function()
{
$("#myCssChange1").css('display', 'none');
$("#myCssChange2").css('display', '');
}
);
}
);
答案 0 :(得分:1)
关闭,您需要指定''
以外的其他内容才能将显示更改为。
$(document).ready(function(){
$("#myClickButton").click(function(){
$("#myCssChange1").css('display', 'none');
$("#myCssChange2").css('display', 'block'); // or inline, etc
});
});
答案 1 :(得分:1)
您的代码实际上是有效的(假设您尝试丢弃设置的显示值,如无)。这是running as a JSFiddle。我猜你要么不加载JQuery,要么你的ID与你上面描述的不同,如果它不适合你。
此外,如果你只是显示和隐藏元素,jQuery有方法。它们非常有用show()
和hide()
。
答案 2 :(得分:0)
首先 - 谢谢大家的回复。知道我的代码(大部分)功能是一个很大的帮助(因为我在教自己,我经常让自己疯狂)。外部资源同样是一个很大的帮助。
我不知道我无法向CSS返回无值。学过的知识。但是,为了增加一些清晰度,这个特殊问题是最初可见的第一个对象(#myCssChange1)是一个带有文本块的div。最初隐藏的第二个对象(#myCssChange2)是一个包含内部表的div。无论出于何种原因,对于#myCssChange2表,将“display”设置为除“none”之外的任何内容,会导致压缩的DIV关闭到拒绝展开以显示该表的一侧(基本上是一个没有任何内容的封闭栏)。
由于提到了.hide()和.show()建议,我偶然发现了另一个选项,那就是在CSS中使用“visibility”而不是显示。这解决了我对生成的HTML输出所遇到的问题。
所以我用过:
$(document).ready(function()
{$("#myClickButton").click(function()
{$("#myCssChange1").css('visibility', 'hidden');
$("#myCssChange2").css('visibility', 'visible');
});
});
这似乎更宽容一些,虽然不如显示器那么灵活,它很好地处理了扭结。
非常感谢大家,在没有你所有投入的情况下,我已经至少待了一周。