使用jquery修改全局css声明

使用jquery修改全局css声明,jquery,css,twitter-bootstrap,Jquery,Css,Twitter Bootstrap,我正在使用Twitter引导创建表单元素,如下所示。 通常,“提交”应该放在“控件”容器的外部,但对于我的布局,我需要将其放在内部,如下所示: <div class="control-group"> <div class="controls"> <input type="text" name="email" value="" id="email" class="input-large email" placeholder="email" re

我正在使用Twitter引导创建表单元素,如下所示。 通常,“提交”应该放在“控件”容器的外部,但对于我的布局,我需要将其放在内部,如下所示:

<div class="control-group">
    <div class="controls">
        <input type="text" name="email" value="" id="email" class="input-large email" placeholder="email" required="">  
        <input type="submit" value="submit" name="submit" id="submit" class="btn btn-success">
    </div>
</div>

但是,我想知道,如果元素是特定类型的,我是否可以用jquery找到另一种方法来防止这种风格一路向下渗透…

否则我会调查的

  • 找到指示特定元素忽略特定元素的方法 css类
  • 创建一个应用了所有css的精确副本 元素的属性,然后添加错误类和 替换为

  • 我通常会在全局样式表中添加一个类来覆盖字段中的错误类。您可以通过向CSS添加特定性来实现这一点。这似乎是实现完全跨浏览器合规性的最简单(可能不是正确的)方法。

    您可以嵌套一个范围,并相应地设置其样式

    <div class="control-group">
      <div class="controls">
        <span class="error">
          <input type="text" name="email" value="" id="email" class="input-large email" placeholder="email" required="">  
        </span>
        <input type="submit" value="submit" name="submit" id="submit" class="btn btn-success">
    </div>
    
    
    


    这将把您的错误限制在该范围内。

    这将是一个巨大的妥协不幸的是,bootstrap的编写方式将其定义为.control-group.error是的,这就是我现在正在做的,但我想让它对更广泛的受众通用,如果bootstrap库发生更改,这将是一种黑客行为,我可能会崩溃吗问题:为什么提交需要在“控制”分区中?你确定这是唯一的办法吗?
    .control-group.error input**:not([type='submit'])**, .control-group.error select, .control-group.error textarea {
    border-color: #B94A48;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
    -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
    }
    
    .control-group.error .checkbox, .control-group.error .radio, .control-group.error input**:not([type='submit'])**, .control-group.error select, .control-group.error textarea {
    color: #B94A48;
    }
    
    <div class="control-group">
      <div class="controls">
        <span class="error">
          <input type="text" name="email" value="" id="email" class="input-large email" placeholder="email" required="">  
        </span>
        <input type="submit" value="submit" name="submit" id="submit" class="btn btn-success">
    </div>