教你js对象删除某个元素 js获取类名的3种方法( 七 )


console.log(styleList[0].ownerNode); // linkconsole.log(styleList[1].ownerNode); // styleparentStyleSheet:在当前样式表是通过@import导入的情况下,该属性是一个指向导入它的样式表的指针;
// styleList[1]获取的是一个<style>其中使用@import导入一个CSS文件console.log(styleList[1].cssRules[0]); console.log(styleList[1].cssRules[0].parentStyleSheet);// CSSStyleSheettitle:ownerNode中title属性的值;
type:表示样式表类型的字符串,对CSS样式表而言,是”text/css”;
注:除了disabled属性之外,其他属性都是只读的;
操作样式表规则:
除了以上所有这些属性,CSSStyleSheet类型还定义了用来查询、插入和删除样式表规则的API;
cssRules:返回样式表中包含的所有样式规则的CSSRuleList类型的实时集合,该集合中的元素为CSSStyleRule对象;低版本的IE不支持,但有个类似的rules属性;
var ss = styleList[1];console.log(ss);console.log(ss.cssRules);console.log(ss.rules);// 是IE专用console.log(ss.cssRules[0]);// CSSStyleRuleownerRule:如果样式表是通过@import导入的,该属性就是一个指针,返回表示导入的规则的CSSImportRule对象,否则为null,低版本的IE不支持;
insertRule(rule, index):创建(插入)规则,向CSSRules集合中指定的位置插入rule字符串,该方法接受两个参数:规则文本和表示在哪里插入规则的索引;
var sheet = document.styleSheets[1];sheet.insertRule("body{background-color:silver}",0);console.log(sheet.cssRules);低版本的IE支持一个类似的addRule(selector, style, index)方法,接受两个必选和一个可选参数:选择器和CSS样式信息,一个可选参数:插入规则的位置;
document.styleSheets[1].addRule("h1","font-size:3em;color:red;",2);console.log(document.styleSheets[1].cssRules);这个方法所有浏览器也都支持;
跨浏览器方式:
var sheet = document.styleSheets[0];function insertRule(sheet, selectorText, cssText, position){if(sheet.insertRule){sheet.insertRule(selectorText + "{" + cssText + "}", position);}else{sheet.addRule(selectorText, cssText, position);}}insertRule(sheet, "body", "background-color:silver", 0);deleteRule(index):删除cssRules集合(样式表)中指定位置的规则;低版本的IE不支持,但支持一个类似的removeRule()方法,这个方法所有浏览器也都支持;
document.styleSheets[1].deleteRule(0);document.styleSheets[1].removeRule(0);console.log(document.styleSheets[1].cssRules);跨浏览器方式:
var sheet = document.styleSheets[0];function deleteRule(sheet, index){if(sheet.deleteRule){sheet.deleteRule(index);}else{sheet.removeRule(index);}}deleteRule(sheet,0);CSSStyleRule规则对象:
CSSStyleRule对象表示样式表中的每一条规则;继承自CSSRule接口,实际上CSSRule是专供其他类型继承的基类,其中最常见的是CSSStyleRule类型,表示样式信息;
var sheet = document.styleSheets[2];var rules = sheet.cssRules || sheet.rules;var rule = rules[0];console.log(rule); // CSSStyleRuleCSSRule接口属性:
cssText:返回整条规则对应的文本;低版本的IE不支持parentRule:只读,如果当前规则是导入的规则,这个属性引用的就是导入规则,否则为null;或此规则是 @media 块中的样式规则, 则其父规则将是该 CSSMediaRule;IE不支持parentStyleSheet:当前规则所属的样式表,低版本的IE不支持;type:表示规则类型的常量值,对于样式规则,值为1;IE不支持;这些常量被定义在CSSRule接口中,值为:
常量值接口
CSSRule.STYLE_RULE1CSSStyleRuleCSSRule.IMPORT_RULE3CSSImportRuleCSSRule.MEDIA_RULE4CSSMediaRuleCSSRule.FONT_FACE_RULE5CSSFontFaceRuleCSSRule.PAGE_RULE6CSSPageRuleCSSRule.KEYFRAMES_RULE7CSSKeyframesRuleCSSRule.KEYFRAME_RULE8CSSKeyframeRule9 保留供将来使用CSSRule.NAMESPACE_RULE10CSSNamespaceRuleCSSRule.COUNTER_STYLE_RULE11CSSCounterStyleRuleCSSRule.SUPPORTS_RULE12CSSSupportsRuleCSSRule.DOCUMENT_RULE13CSSDocumentRuleCSSRule.FONT_FEATURE_VALUES_RULE14CSSRule.VIEWPORT_RULE15CSSViewportRuleCSSRule.REGION_STYLE_RULE16CSSRegionStyleRuleCSSRule.UNKNOWN_RULE0CSSUnknownRuleCSSRule.CHARSET_RULE2CSSCharsetRuleCSSStyleRule对象属性:


以上关于本文的内容,仅作参考!温馨提示:如遇健康、疾病相关的问题,请您及时就医或请专业人士给予相关指导!

「四川龙网」www.sichuanlong.com小编还为您精选了以下内容,希望对您有所帮助: