问题
我试图在样式标记中获取内容,但我无法让它工作。
代码做什么
我使用jQuery并尝试使用text()和html()获取样式内容。它不起作用。
我的代码
<!DOCTYPE HTML>
<html lang="en-US">
<head>
<meta charset="UTF-8">
<title></title>
<link rel="stylesheet/less" type="text/css" href="css/style.less">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min.js" type="text/javascript"></script>
<style id="less:concepts-less-css-style" media="screen" type="text/css">
body {
padding: 10px;
background: blue;
}
</style>
</head>
<body>
<script src="js/less-1.1.5.min.js" type="text/javascript"></script>
<script type="text/javascript">
jQuery(document).ready(function($) {
var my_id = $('style').attr('id');
var test = $('#less:concepts-less-css-style').text();
var test2 = $('#less:concepts-less-css-style').html();
alert(test + "#" + test2 + "#" + my_id);
});
</script>
</body>
</html>发布于 2011-11-18 21:20:58
我认为您必须转义ID中的冒号字符,因为它通常在选择器语法中意味着什么。有关此问题的讨论,请参见Handling a colon in an element ID in a CSS selector。
$('#less\\:concepts-less-css-style')我个人避免在ID或类值中带有CSS选择器含义的特殊字符,以避免这种复杂性。
发布于 2011-11-18 21:17:29
尝试:
$('#less:concepts-less-css-style')[0].innerHTML发布于 2011-11-18 21:20:20
这个id使得jQuery认为它是一个伪选择器。试一试
var elm = document.getElementById("less:concepts-less-css-style"),
content = elm.innerHTML || elm.innerText || elm.textContent;
alert( content );当然,您可以将id更改为不那么不稳定,jQuery也会工作。
https://stackoverflow.com/questions/8189252
复制相似问题