考虑一下,
我将外部文档保存到html变量中:
var html="<!DOCTYPE html>\n<html>\n<head>\n<title>My Title</title>\n<script type=\"text/javascript\">\nvar my_var=\"12345\";\n</script>\n</head>\n<body>\n<div>\n<span>hello div</span>\n</div>\n</body>\n</html>";
为了便于阅读,我们可以将此变量输出到控制台:
console.log(html)
这将输出:
<!DOCTYPE html>
<html>
<head>
<title>My Title</title>
<script type="text/javascript">
var my_var="12345";
</script>
</head>
<body>
<div>
<span>hello div</span>
</div>
</body>
</html>
使用Jquery我能够获取并操纵dom元素的值。
例如,我可以阅读 span 的内容:
console.log($('span',html).text());
哪个会输出:
hello div
但是我仍然不清楚如何访问变量。
我们可以使用Jquery和Javascript,
检索 my_var 的值的最佳方法是什么?
答案 0 :(得分:1)
猜猜我接下来会使用正则表达式,因为eval显然是不安全的。
var matches= html.match(/my_var\s*=\s*['"](.+?)['"]\s*;/);
if (matches) console.log(matches[1]);
答案 1 :(得分:0)
您可以尝试创建元素而不将其实际附加到文档中
var elem = document.createElement("div");
elem.innerHTML = html;
var script = elem.getElementsByTagName("script")[0];
eval(script.innerText);
console.log(my_var); //Should output my_var's value