从<link />获取内容(不是<a>) tag</a>

时间:2011-10-11 19:30:20

标签: javascript html css

您好我正在尝试获取链接标记的内容。所以:

<link rel="stylesheet" href="some.css">

我希望文件some.css的内容包含在字符串中。

尝试:

document.getElementsByTagName('link')[0].firstChild.nodeValue; // fails
document.getElementsByTagName('link')[0].hasChildNodes(); // false

有什么想法吗?我不想使用styleSheet方法(它只适用于FF),因为它会删除-moz-border-radius之类的东西。

感谢。

4 个答案:

答案 0 :(得分:1)

我认为Daniel A. White是对的。最好的办法是获取样式表的href,然后通过Ajax加载内容并解析它。

你准备做什么?

答案 1 :(得分:0)

您只能使用javascript获取文件的内容。您需要向服务器发出ajax请求,该请求会打开文件并返回其内容。

答案 2 :(得分:0)

为此,您需要通过ajax请求访问该文件。

所以,使用jQuery,就像这样

$.ajax({
  url: "some.css",
  success: function(){
    //do something
  }
});

此处有更多详情:http://api.jquery.com/jQuery.ajax/

注意:这仅在发出请求的文件与请求的文件位于同一服务器上时才有效。

答案 3 :(得分:0)

CSS规则提供special API,但没有像innerHTML那样。

这是最接近的:

var result = '';
var st = document.styleSheets[0].cssRules;
for (var i = 0; i < st.length; i++) {
    result += st[i].cssText;
}
console.log(result);

然而,这不会尊重空白,评论,错误的规则......

和往常一样,这是受同源政策约束的。