使用正则表达式提取包含样式表链接的href
字符串并将其保存为JavaScript变量的最简单方法是什么?
样式表是一个字符串,而不是真正的样式表链接。它意图在页面加载后使用Javascript插入。
编辑:
<script>
// Loading stylesheet just before body closes
$(function() {
var stylesheet = '<link href="/Static/css/compiled/styles.css" rel="stylesheet"/>';
var stylesheetHref = ""; // WANT TO SET THIS!!
if (document.createStyleSheet) {
document.createStyleSheet(stylesheetHref);
} else {
$("head").append(stylesheet));
}
});
</script>
答案 0 :(得分:4)
为什么不以正确的方式创建元素,只是从变量中的href开始?
$(function () {
var href = '/Static/css/compiled/styles.css';
var stylesheet = $('<link />', {rel: 'stylesheet', href: href});
$("head").append(stylesheet);
});
答案 1 :(得分:3)
如果您有一个字符串格式的样式表链接,那么这将获得href值,非常容易,没有正则表达式...
var link = '<link rel="stylesheet" type="text/css" href="//cdn.sstatic.net/stackoverflow/all.css" />';
var href = $(link).attr("href");
答案 2 :(得分:1)
试试这个:
<script>
// Loading stylesheet just before body closes
$(function() {
var stylesheet = '<link href="/Static/css/compiled/styles.css" rel="stylesheet"/>';
var stylesheetHref = stylesheet.replace(/.*href="(.*?)".*/i, "$1");
if (document.createStyleSheet) {
document.createStyleSheet(stylesheetHref);
} else {
$("head").append(stylesheet));
}
});
</script>