单击href链接后如何动态添加动态css

时间:2015-08-15 07:45:52

标签: javascript jquery html css head

使用Javascript点击test.php页面的href链接后,是否可以将重定向页面后的css样式表导入到index头部到test.php?如果是这样,怎么办呢?

问题是styles.css无法正常工作或显示在test.php页面?

我有这样的代码:

索引页

<a id="some_id" class="optional_has_click">Click Me</a>

Jquery的

<script type="text/javascript">
$(document).ready(function(){

$("#some_id").click(function(){

 // add dynamically css file from external link and display to head
 window.location.href = 'test.php'; 

var cssId = 'styles'; 
var head  = document.getElementsByTagName('head')[0];
var link  = document.createElement('link');
link.id   = cssId;
link.rel  = 'stylesheet';
link.type = 'text/css';
link.href = 'http://example.com/styles.css';
link.media = 'all';
head.appendChild(link);

document.write("<style>#jstree-marker-line, 
#preloader{ background:none !important}</style>");

});

});
</script>

测试页

<div id="container">

<p>test</p>

</div>

2 个答案:

答案 0 :(得分:0)

页面加载后你不能使用 document.write ,但如果你真的想在页面的头部添加这样的样式,你可能会尝试这样的事情:

$("head").append("<style>...</style>");

但是,当您想要更新页面上的样式时,做这样的事情可能会更好

$("#jstree-marker-line").css("background", "none");

或者您可以拥有一个类,其中包含您在页面上定义的样式,并使用jquery&#39; s addClass动态添加该类

答案 1 :(得分:0)

使用window.location.href = 'test.php';将加载不同的页面并停止在该点之后运行的任何JavaScript。

请查看此问题:How can I make JavaScript make (produce) new page?因为它可以解答您的问题,或者在测试页上运行其余的脚本。

同时结帐@JenGettings' answer代替document.write,因为它会覆盖该页面。