我可以做以下事情
让我们假设我得到的页面内容是
var data = $('html').html();
如果页面包含对象
mydata = {
test:"mydata"
}
我可以怎样访问这个对象?我想获取存储在该对象中的信息,例如
console.log(data.mydata);
它应该返回
test:"mydata"
是否有从JQuery数据对象中获取对象的方法
var data = $('html').html();
注意:脚本标记中的对象是这样
<script>
window.mydata = {
test:"mydata"
}
</script>
正如我所说,我正在尝试通过jquery对象或返回的dom访问数据
var data = $('html')。html();
我无权直接访问window.mydata
仍然可以从此函数返回的数据中访问window.mydata
$('html').html();
答案 0 :(得分:0)
<!DOCTYPE html>
<html>
<head>
<title></title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
</head>
<body>
<h1>Hello World</h1>
<p>Lorem Ipsum</p>
<script type="text/javascript">
var data = $('html').html();
var mydata = {
test:"mydata"
}
console.log(data);
console.log(mydata); // Object { test: "mydata" }
console.log(mydata.test); // "mydata"
</script>
</body>
</html>
答案 1 :(得分:0)
您可以使用.data
API将数据附加到DOM元素中,并以相同的格式进行检索。
在您的情况下,类似
<script>
window.mydata = {
test:"mydata"
}
$("html").data("someKey", window.myData);
// later retrieve it
var data = $("html").data("someKey");
console.log(data.test); /* should print mydata */
</script>
更新(在OP评论之后)
// assign your string which you get from Amazon to this variable
var fileContents = 'Some text which has script tags <script>window.mydata = {test:"mydata"}<\/script>';
$("#codeInject").html(fileContents).hide();
console.log(window.mydata);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="codeInject"></div>