通过Javascript添加CSS类属性

通过Javascript添加CSS类属性,javascript,html,css,Javascript,Html,Css,我有一个HTML页面,其中包含一个css类,用于具有以下定义的控件: .ms-crm-Inline-Edit select.ms-crm-SelectBox { border: 1px solid #CCCCCC; font-size: 12px; margin: 1px 0 0 1px; width: 100%; } 我需要为此类添加一个新属性,如下所示: height: "120px !important"; 这必须通过Javascript来完成。我不能修改原始的类定义,这就是为什么我必

我有一个HTML页面,其中包含一个css类,用于具有以下定义的控件:

.ms-crm-Inline-Edit select.ms-crm-SelectBox {
border: 1px solid #CCCCCC;
font-size: 12px;
margin: 1px 0 0 1px;
width: 100%;
}
我需要为此类添加一个新属性,如下所示:

height: "120px !important";
这必须通过Javascript来完成。我不能修改原始的类定义,这就是为什么我必须添加Javascript函数来完成这项工作。为此,我编写了Jscript方法,但它不起作用

function CustomizePicklistHeight ()
{
   document.getElementsByClassName('ms-crm-Inline-Edit select.ms-crm-SelectBox').style.height = '120px !important';
}
我想,首先我们必须为这个类添加
height
属性,但我不知道如何在JScript中这样做。请建议

  • ClassName
    表示“类名”(
    ms crm SelectBox
    )而不是“整个选择器”。(
    querySelector
    queryselectoral
    允许您使用完整的选择器
  • Elements
    表示“Elements”(复数)而不是“Element”。它返回一个节点列表,可以像数组一样循环

  • 另一方面,如果您想修改CSS规则集而不是直接应用于HTML元素的样式,那么您需要查看。您必须通过设置每个项目来进行循环,如果您之前没有“!important”,则不需要它。

    var matches=document.queryselectoral(“.ms crm内联编辑,选择.ms crm选择框”);
    
      var matches = document.querySelectorAll(".ms-crm-Inline-Edit, select.ms-crm-SelectBox");
      for(i=0; i<matches.length; i++)
      {
        matches[i].style.height = '120px !important';
      }
    

    for(i=0;i
    document.getElementsByClassName
    返回该类中所有项的数组

    试试这个:

    function CustomizePicklistHeight()
    {
    
    // Store elements for each class differently. Just in case :)
    
    var elements1 =  document.getElementsByClassName('ms-crm-Inline-Edit');
    var elements2 =  document.getElementsByClassName('ms-crm-SelectBox');
    
    // Since you cant affect the array directly, you use a loop to do the operation on each individual element
    
    for (var i = 0; i < elements1.length; i++)
    {
    element1[i].style.height = '120px !important';
    };
    
    for (var j = 0; j < elements2.length; j++)
    {
    element1[j].style.height = '120px !important';
    };
    
    }​
    
    函数自定义EpicklistHeight()
    {
    //为每个类存储不同的元素。以防万一:)
    var elements1=document.getElementsByClassName('ms-crm-Inline-Edit');
    var elements2=document.getElementsByClassName('ms-crm-SelectBox');
    //由于不能直接影响数组,因此可以使用循环对每个元素执行操作
    对于(变量i=0;i

    希望这有帮助:)

    GetElementsByCassName
    而不是
    GetElementsByCassNames
    。您应该在其中只保留一个类。