代码之家  ›  专栏  ›  技术社区  ›  vsync Qantas 94 Heavy

如何找到动态创建的<style>元素

  •  1
  • vsync Qantas 94 Heavy  · 技术社区  · 15 年前

    <style> 具有如下javascript的元素:

    function createMyStyle(selector , rule) {
       j$("head").append('<style type="text/css">' + selector + '{' + rule + '}' + '</style>');
    }
    

    我不想每次都创建这个元素,但是要找出 如果这个 <风格> 元素已插入,然后使用类似的方法将我的规则添加到其中:

    if( stylesheet.addRule ) {
        stylesheet.addRule(selector, rule);
    } 
    else if( stylesheet.insertRule ) {
        stylesheet.insertRule(selector + ' { ' + rule + ' }', stylesheet.cssRules.length);
    }
    

    我创造了这个 <风格>

    我试着给 <风格> id 做些类似。。。

    for( var i in document.styleSheets ) {
        if( !document.styleSheets[i].id) {
    

    但这不能做,因为没有 归因于它。

    2 回复  |  直到 7 年前
        1
  •  0
  •   Guillaume Flandre    15 年前

    尝试使用jQuery执行以下操作:

    if($("style").length > 0){
      // this means you have a style  element in your document
    }
    
        2
  •  0
  •   Jordan Running    15 年前

    给它一个身份证 应该 工作。

    $('head').append('<style id="some-id"> ... </style>');
    
    console.log($('#some-id'));
    

    不过,万一你不知道, there are much easier ways 在jQuery中添加和删除文档中的样式。