jquery更改通配符的css属性
我有一个带有通配符ID的div。我想改变通配符上的显示而不是实际的元素。jquery更改通配符的css属性
#mywildcard{
display:none;
}
<div id = "mywildcard"></div>
当我点击一个按钮或某物我想改变实际属性显示不添加样式的元素。
我想
#mywildcard{
display:block;
}
什么我现在得到的是
<div id = "mywildcard" style="display:block"></div>
#mywildcard{
display:block;//Firebug show crossed out.
}
我试图 $('#mywildcard).css('display','block');
,它只是增加了一个风格,该元素
你想要的是使用jQuery的功能.toggle()或.show(),这取决于你试图达到的效果类型。
在元素上调用.toggle()
将检测它是否显示无,然后它将恢复到其默认显示。如果当前显示(display:block
),则再次调用.toggle()
将隐藏该元素。
如果您想要做一次从display:none
更改为display:block
,那么您需要使用.show()
函数。
更具体地讲,假设你正在试图连接到.show()
函数的wildcardShowBtn
一个id,形成按钮。为了实现这一目标jQuery中你会做:
$("#wildcardShowBtn").click(function() {
$("#mywildcard").show();
});
这与他所要求的相反。 .show将使用他正试图避免的style属性stye =“display:block”。 – Fresheyeball 2012-03-26 18:33:07
试试这个(这听起来像这样是你想要的)
document.ge tElementById('mywildcard')。setAttribute('style','display:none;');
这与他所要求的相反。使用样式属性stye =“display:block”正是他所说的他不想要的。 – Fresheyeball 2012-03-26 18:35:10
据我知道有没有办法从编辑外部CSS文件中的CSS规则#wildcard,但如果你能做到这一点在一个页面上样式标签。或者,如果你在外部css文件中没有设置它,这应该仍然有效。
你想要做的是编辑的规则不是元素,所以瞄准风格标签来代替:
$('style[id=mystyle]').html($('style[id=mystyle]').html().replace('none','block'));`
这样的事情会发现风格标签和替换“无”的情况下,以“块“
,但如果您的规则是在外部样式表中,你可以用js来创建它里面的规则新的样式标签。
jQuery CSS - Write into the <style>-tag //第二个答案
http://www.webdeveloper.com/forum/archive/index.php/t-130717.html //教程动态地创建样式
有什么问题吗? – Christoph 2012-03-26 16:45:18