javascript jQuery从另一个html页面获取变量值

sg3maiej  于 2022-12-17  发布在  Java
关注(0)|答案(4)|浏览(204)

我有一个包含以下内容的html页面,名为“page1.html”:

<div>
    <div id="content">
        content
    </div>
    <script type="text/javascript">
        var x=5;
        var y=2;
    </script>
    <div id="other">Some other content</div>
</div>

在另一个html页面中,我想得到变量“x”(5)的值。这是主页面:

<!DOCTYPE html>
<html>
<head lang="en">
    <script type="text/javascript" src="app.js"></script>
</head>
<body>
    <div id="new_content"></div>
</body>
</html>

下面是app.js脚本:

$(function(){
    $.get('page1.html', function(result){
        var obj = $(result).find('script');
        $(this).append($('#new_content').text(obj.html()));
    });
});

而结果是“var x=5; var y=2;"。有没有办法从var x中只得到值5?
谢谢你的帮助。
编辑:我忘了写这只是一个例子,page1.html中的脚本代码比上面显示的要复杂得多。app.js中的对象“obj”是一个[object htmlscriptelement],所以我想知道是否存在一个方法/att,我可以用它直接访问var x。

rjzwgtxy

rjzwgtxy1#

或者,您可以简单地按以下方式使用localStorage

第一页. html

localStorage.setItem("x", "value"); //setter

第二页. html

var x = localStorage.getItem("x"); //getter
zd287kbt

zd287kbt2#

这似乎是一个有点奇怪的事情尝试和做。
我会尽我最大的努力来回答,但这将是很好的,以获得更多的背景下,为什么你要这样做,因为它可能是有一个更好的,更清洁的方式来做。
根据您提供的信息,我的建议是将值分配给DOM对象,jQuery是为了遍历DOM并对其进行操作而构建的,尝试解析原始javascript以提取变量值确实不是一个好主意。
因此,第1页将如下所示:

<div>
    <div id="content">
        content
    </div>
    <div class="myData" data-x="5" data-y="2" />
    <div id="other">Some other content</div>
</div>

那么我的jQuery将看起来像这样:

$(function(){
    $.get('page1.html', function(result){
        var obj = $(result).find('script');
        var page1X = $(result).find('div.myData').data('x');
        var page1Y = $(result).find('div.myData').data('y');
    });
});

这只是伪代码,但希望您能理解其中的含义。
参考链接:

wh6knrhe

wh6knrhe3#

您可以尝试在粘贴代码之前注解vat y=...行,如下所示:

$(function(){
    $.get('page1.html', function(result){
        var obj = $(result).find('script');
        $(this).append($('#new_content').text(obj.html().replace('var y','//var y')));
    });
});
rlcwz9us

rlcwz9us4#

从另一个html页面(例如page1)获取值

<input type="text" id="pageoneinputid" value="pageone">

在第二页的script标签中

var a=$("#pageoneinputid").val()
document.getElementById("pagetwoinputid").innerHtml=a;

相关问题