Jquery 我可以阻止CSS应用于特定元素吗?
我想这是一个奇怪的问题。。。我甚至不知道这是不是个好主意。我是否可以创建一个元素并说,“我不在乎之前的任何样式表都说了什么,这里是我想要的样式?” 举个例子,假设我有一个样式表,上面写着:Jquery 我可以阻止CSS应用于特定元素吗?,jquery,css,Jquery,Css,我想这是一个奇怪的问题。。。我甚至不知道这是不是个好主意。我是否可以创建一个元素并说,“我不在乎之前的任何样式表都说了什么,这里是我想要的样式?” 举个例子,假设我有一个样式表,上面写着: button { /* whole bunch of stuff here, not even sure what all */ } .someClass button { /* and some other crap here*/ } .anotherClass button { /*
button {
/* whole bunch of stuff here, not even sure what all */
}
.someClass button {
/* and some other crap here*/
}
.anotherClass button {
/* and more here */
}
然后我想编写一些Javascript,它将执行以下操作:
function insertConstantButton(elemId) {
var unchangeableButton = $('<button/>');
unchangeableButton.css('whatIReallyWant', 'etc');
$("#" + elemId).append(unchangeableButton);
andNowIMagicallyStopCSSFromApplyingTo(unchangeableButton);
}
函数insertConstantButton(elemId){
var unchangablebutton=$('');
css('whatIReallyWant','etc');
$(“#”+elemId).append(不可更改按钮);
而现在,从应用到(不可更改的按钮)开始,以逻辑方式显示TopCs;
}
就像我说的,也许这是个坏主意。。。只是想知道。。。我有一些代码创建了这个按钮,它看起来很棒,但是突然我让它出现在一个不同的容器类下,而不是它通常出现的,而且(令人惊讶的是)它看起来完全不同。这是我不想要的。呵呵
更新:是的,有点知道这是个坏主意,只是想知道这是否可能。我并不感到惊讶,因为它会有点,呃,破坏CSS:)
对于那些想要解决一般问题而不是假设解决方案的人来说:我有一些代码,可以按照UI团队希望的方式添加外观一致的滚动按钮。我现在正试着把它们放在一个模态对话框中,模态对话框在样式表中有一堆东西,比如“.ourcompanypoup按钮{stuffidontwanntonmycrollbars;}”覆盖每一个按钮将是一个PITA
我可能会将样式表更改为“.ourcompanypoup按钮:not(.myPreciousScrollButtons)”。。。这会让er完成,但可能会像其他任何事情一样成为可维护性的噩梦。嗯…简单地说:不
无论如何,CSS都将被应用。您可以执行以下操作:
- 覆盖不需要的CSS
- 将不需要的css设置为不包含按钮的特定css
function insertConstantButton(elemId) {
var unchangeableButton = $('<button class="dontchange" />');
unchangeableButton.css('whatIReallyWant', 'etc');
$("#" + elemId).append(unchangeableButton);
}
function insertConstantButton(elemId) {
var unchangeableButton = $('<button id="dontchange" />');
$("#" + elemId).append(unchangeableButton);
}
如果这不够优雅,给按钮一个ID并在样式表中设置样式。
jQuery
function insertConstantButton(elemId) {
var unchangeableButton = $('<button class="dontchange" />');
unchangeableButton.css('whatIReallyWant', 'etc');
$("#" + elemId).append(unchangeableButton);
}
function insertConstantButton(elemId) {
var unchangeableButton = $('<button id="dontchange" />');
$("#" + elemId).append(unchangeableButton);
}
简单地说:不
无论如何,CSS都将被应用。您可以执行以下操作:
- 覆盖不需要的CSS
- 将不需要的css设置为不包含按钮的特定css
function insertConstantButton(elemId) {
var unchangeableButton = $('<button class="dontchange" />');
unchangeableButton.css('whatIReallyWant', 'etc');
$("#" + elemId).append(unchangeableButton);
}
function insertConstantButton(elemId) {
var unchangeableButton = $('<button id="dontchange" />');
$("#" + elemId).append(unchangeableButton);
}
如果这不够优雅,给按钮一个ID并在样式表中设置样式。
jQuery
function insertConstantButton(elemId) {
var unchangeableButton = $('<button class="dontchange" />');
unchangeableButton.css('whatIReallyWant', 'etc');
$("#" + elemId).append(unchangeableButton);
}
function insertConstantButton(elemId) {
var unchangeableButton = $('<button id="dontchange" />');
$("#" + elemId).append(unchangeableButton);
}
您可以使用
!重要的
修改器,但您需要将不希望被覆盖的每个样式标记为!重要信息
:
button {
background-color: red;
}
.what-i-really-want {
background-color: blue !important;
}
function insertConstantButton(elemId) {
var unchangeableButton = $('<button/>');
unchangeableButton.addClass('what-i-really-want');
$("#" + elemId).append(unchangeableButton);
andNowIMagicallyStopCSSFromApplyingTo(unchangeableButton);
}
按钮{
背景色:红色;
}
.我真正想要的是什么{
背景色:蓝色!重要;
}
函数insertConstantButton(elemId){
var unchangablebutton=$('');
addClass('what-i-real-want');
$(“#”+elemId).append(不可更改按钮);
而现在,从应用到(不可更改的按钮)开始,以逻辑方式显示TopCs;
}
您可以使用!重要的
修改器,但您需要将不希望被覆盖的每个样式标记为!重要信息
:
button {
background-color: red;
}
.what-i-really-want {
background-color: blue !important;
}
function insertConstantButton(elemId) {
var unchangeableButton = $('<button/>');
unchangeableButton.addClass('what-i-really-want');
$("#" + elemId).append(unchangeableButton);
andNowIMagicallyStopCSSFromApplyingTo(unchangeableButton);
}
按钮{
背景色:红色;
}
.我真正想要的是什么{
背景色:蓝色!重要;
}
函数insertConstantButton(elemId){
var unchangablebutton=$('');
addClass('what-i-real-want');
$(“#”+elemId).append(不可更改按钮);
而现在,从应用到(不可更改的按钮)开始,以逻辑方式显示TopCs;
}
使用一个ID。一个ID将覆盖1500万个类。使用一个ID。一个ID将覆盖1500万个类。不,css将应用于它,除非你覆盖css所做的每一件事。我确信在这方面存在的问题不止这些,但它们可能很难找到(难以选择关键字)。无论如何,答案是“不”,你应该提出一个描述原始问题的问题,而不是假设的解决方案,这是一个死胡同。使用创建一个覆盖所有CSS的类!重要信息
,请不要使用!重要信息
,适用于每个项目。我是那个必须维护代码的人,我会非常生气的。简单地说,你处理问题的方法是错误的。换一种方式。哦,如果它能让内森晚上睡得更好。。。我不用!重要,永远:)不,css将应用于它,除非你覆盖css所做的每一件事。我相信在这方面有比现有问题更多的问题,但它们可能很难找到(难以选择关键字)。无论如何,答案是“不”,你应该提出一个描述原始问题的问题,而不是假设的解决方案,这是一个死胡同。使用创建一个覆盖所有CSS的类!重要信息
,请不要使用!重要信息
,适用于每个项目。我是那个必须维护代码的人,我会非常生气的。简单地说,你处理问题的方法是错误的。换一种方式。哦,如果它能让内森晚上睡得更好。。。我不用!重要,曾经:)正如我在更新中提到的,这可能是做我想做的事情的最快方法。。。我只是在争论这是否会是一场噩梦。不管怎么说,我可能会这么做,但考虑到最后期限和所有(哎呀,我是不是大声说了?)进一步思考后,我认为这实际上是可以的。这意味着弹出式样式现在必须知道它可能有滚动按钮。但是样式表现在读起来非常自然:“弹出窗口中的任何按钮都可以获得这种样式,除了滚动按钮”。正如我在更新中提到的,这可能是我想做的最快的方式。。。我只是在争论这是否会是一场噩梦。不管怎么说,我可能会这么做,但考虑到最后期限和所有(哎呀,我是不是大声说了?)进一步思考后,我认为这实际上是可以的。这意味着弹出式样式现在必须意识到它可能