javascript
  • jquery
  • css
  • stylesheet
  • document.write
  • 2013-07-22 2 views 0 likes 
    0

    Может кто-нибудь сказать мне, почему следующее не работает в моей «голове»Javascript JQuery добавить таблицу стилей, если класс присутствует

    <script type="text/javascript"> 
    
    if ($('.company-color').length){ 
        document.write("<link rel='stylesheet' href='company-color.css' type='text/css'>"); 
    } 
    
    </script> 
    

    У меня есть класс, который присутствует только на некоторых страницах, и я хочу, чтобы вставить приведенную выше таблицу стилей на страницу, если присутствует класс «.company-color».

    +0

    Потому что во время обработки кода элемент не находится в DOM, поэтому ваше условие всегда будет возвращать 0 (false) –

    +0

    Почему бы просто не включить таблицу стилей? (Уверен, у вас есть причина, мне просто интересно). – jessegavin

    ответ

    2

    использование

    jQuery(function($){ 
        if ($('.company-color').length){ 
         $('body').append("<link rel='stylesheet' href='company-color.css' type='text/css'>"); // or to head 
        } 
    }) 
    
    0

    Попробуйте этот код:

    $(function(){ 
        if ($('.company-color').length > 0){ 
         $('head').append('<link rel="stylesheet" href="company-color.css" type="text/css">'); 
        } 
    }) 
    

    Вы должны использовать append method для добавления CSS к головному элементу.

    Смежные вопросы