2

我有这两个页面:

第 1 页:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
    "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html>
<head>
    <meta http-equiv="Content-type" content="text/html; charset=utf-8">
    <title>Test jquery.get()</title>
    <script type="text/javascript" charset="utf-8" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
</head>
<body>
    <div class="result"></div>
    <script type="text/javascript" charset="utf-8">
        $.get('tests.html', function(data) {
        $('.result').html(data);
        alert(data);
        });
    </script>
</body>
</html>

第2页:

<html>
<body>
    <form action="#" method="get" accept-charset="utf-8">
        <input type="text" name="some_name" value="" id="some_name">
        <p><input type="submit" value="Continue &rarr;"></p>
    </form>
</body>
</html>

第一个页面加载第二个页面,但它只适用于 Safari 而不是 Firefox。我错过了什么?

4

1 回答 1

2

您当前的代码显然是将整个 HTML 文档的标记注入到<div>元素中。Firefox 可能对<html>位于<div>.

尝试<form>在您的调用中减少对您的元素的标记html()

$.get("tests.html", function(data) {
    $(".result").html($(data).find("form").html());
});

或者更好的是,使用为此目的而设计的load() :

$(".result").load("tests.html form");
于 2013-02-06T21:19:04.713 回答