繁体   English   中英

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

[英]jQuery get variable value from another html page

我有一个包含此内容的 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],所以我想知道是否存在可用于直接访问 var x 的方法/att。

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

page1.html

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

page2.html

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

您可以在粘贴以下代码之前尝试注释va y = ...行:

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

尝试去做似乎有点奇怪。

我会尽力回答,但是最好能找到更多有关为什么要这样做的背景信息,因为这样做可能会有更好,更清洁的方法。

我对您提供的信息的建议是将值分配给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');
    });
});

这只是伪代码,但希望您能理解。

参考链接:

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

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

在脚本标签的第二页

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM