使用jQuery和php动态添加样式表

时间:2017-03-26 18:37:29

标签: javascript php jquery

我正在寻找将特定样式表添加到当前页面的<head></head>部分。我可以使用jQuery,以下jQuery代码段可以正常工作。问题是PHP代码调用那些样式表,我需要将我的PHP代码集成到jQuery中,我无法弄清楚如何做到这一点。

这是php代码:

<?php
    $this->style()
            ->appendStylesheet($this->APP_STATIC_URL . '/templates/' . $this->APP_TEMPLATE . '/skins/' . $this->APP_SKIN . '/content_blog_view_{4}.css', 'screen')
            ->appendStylesheet($this->APP_STATIC_URL . '/templates/' . $this->APP_TEMPLATE . '/skins/' . $this->APP_SKIN . '/content_blog_view_{3}.css', 'screen')
            ->appendStylesheet($this->APP_STATIC_URL . '/templates/' . $this->APP_TEMPLATE . '/skins/' . $this->APP_SKIN . '/content_blog_view_{2}.css', 'screen')
            ->appendStylesheet($this->APP_STATIC_URL . '/templates/' . $this->APP_TEMPLATE . '/skins/' . $this->APP_SKIN . '/content_blog_view_{1}.css', 'screen');
    echo $this->style()->minify();
?>

它会生成以下HTML代码:

<link href="http://redspark/templates/default/skins/default/content_blog_view_{4}.css" media="screen" rel="stylesheet" type="text/css" >
<link href="http://redspark/templates/default/skins/default/content_blog_view_{3}.css" media="screen" rel="stylesheet" type="text/css" >
<link href="http://redspark/templates/default/skins/default/content_blog_view_{2}.css" media="screen" rel="stylesheet" type="text/css" >
<link href="http://redspark/templates/default/skins/default/content_blog_view_{1}.css" media="screen" rel="stylesheet" type="text/css" >

我需要在以下jQuery代码中添加上面提到的php代码(或者你知道的任何其他更好的解决方案)。

<script>
var $head = $("head");
var $headlinklast = $head.find("link[rel='stylesheet']:last");
var linkElement = "<link rel='stylesheet' href='/css/masterBlaster.css' type='text/css' media='screen'>";
if ($headlinklast.length){
   $headlinklast.after(linkElement);
}
else {
   $head.append(linkElement);
}
</script> 

1 个答案:

答案 0 :(得分:0)

您可以在Javascript变量中echo PHP代码,然后使用它。

这样的事情:

var styles = "<?= echo $this->style()->minify(); ?>"