我可以从jQuery文档中获取对象吗

时间:2018-06-27 04:47:44

标签: javascript jquery object

我可以做以下事情

让我们假设我得到的页面内容是

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();

2 个答案:

答案 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>