问题
我正在尝试在样式标记 中获取 ,但我无法让它工作。
代码的作用
我使用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>
答案 0 :(得分:4)
我认为您必须在ID中转义冒号字符,因为它通常意味着选择器语法中的某些内容。有关此问题的讨论,请参阅Handling a colon in an element ID in a CSS selector。
$('#less\\:concepts-less-css-style')
我个人使用CSS选择器中的特殊字符避免使用我的ID或类值来避免这种复杂化。
答案 1 :(得分:3)
id是这样jQuery认为它是一个伪选择器..试试
var elm = document.getElementById("less:concepts-less-css-style"),
content = elm.innerHTML || elm.innerText || elm.textContent;
alert( content );
你当然可以改变id不要那么不稳定,jQuery会起作用。
答案 2 :(得分:1)
尝试:
$('#less:concepts-less-css-style')[0].innerHTML
答案 3 :(得分:0)
使用属性选择器
var test = $('style[id="'+my_id+'"]').text();
//or
var test2 = $('style[id="less:concepts-less-css-style"]').html();