我有这个小 HTML 文档:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>HTML Test</title>
<script type="text/javascript" src="jquery-1.3.2.min.js"></script>
<script type="text/javascript">
$(document).ready(function()
{
$("script").each(function()
{
if($(this).attr("type") == "code")
{
alert($(this).text());
}
});
});
</script>
</head>
<body>
<script type="code">
var Text = "Text";
</script>
</body>
</html>
当使用 Firefox 运行时,警报显示 <script type="code">
的文本内容标签。当在 IE8 中运行时,它不显示任何内容。
你知道为什么吗?我被难住了。
最佳答案
使用 .html() 可能会更幸运,如果这不起作用,请尝试 this.innerHtml
。不过我没有对此进行测试。
不过,我确实对您的代码有另一个提示。如果您只需要代码类型的脚本,则可以使用单个选择器,而不必检查循环中的属性:
$("script[type=code]").each(function() {
alert($(this).html());
alert(this.innerHtml);
});
关于Jquery 从脚本标签获取文本时出现问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1897984/