带页面和ID的Load()

时间:2012-05-16 08:42:54

标签: jquery variables jquery-load

我正在尝试使用jQuery的load()从页面加载ID。这是加载页面的HTML:

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Untitled Document</title>
</head>

<body>
        <section id="content" class="contentPage">
        <h3>Home</h3>
        <p>
            Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean id eros orci. Nam id interdum enim. Ut mauris enim, scelerisque a pellentesque in, molestie eget sem. Ut sagittis erat eget elit euismod laoreet. Vivamus odio mauris, aliquam sed ornare non, tempus nec augue. Proin id lectus elit. Donec pharetra viverra lectus, pellentesque sollicitudin magna gravida pellentesque. Quisque tristique, libero at pulvinar rutrum, neque nunc tincidunt lorem, sit amet varius lorem leo sit amet mi. Quisque vehicula diam in libero aliquet dapibus. Nullam eget arcu a sapien scelerisque fermentum. Integer suscipit magna sed quam aliquet mattis. Suspendisse in erat eu nisi hendrerit bibendum. Aliquam blandit malesuada metus. Duis dapibus consequat ultrices.
        </p>
        </section>
        <!-- end Page1 -->
</body>
</html>

由此我只想加载#content部分(出于兼容性原因,除了那部分我无法除去所有内容)。我正在使用变量调用此函数,但这似乎不起作用:

var firstLink = $("ul > li:first-child > a");   
$("#sectionContainer").load("./" + firstLink.attr("href") + " #content");

变量firstLink.attr("href")返回Pages1.html之类的链接。当遗漏最后一部分(+ " #content")时,脚本可以正常工作。

我认为这样可行,因为jQuery's documentation表示您可以执行以下操作:

$('#result').load('ajax/test.html #container');

知道我做错了什么吗?或者你不能在jQuery中将这种文本添加到变量中吗?

2 个答案:

答案 0 :(得分:1)

如果您正在使用

var firstLink = $("ul > li:first-child > a");   
$("#sectionContainer").load("./" + firstLink.attr("href") + " #content");

然后在第一个链接引用的页面中应该有一个ID为content

的元素(例如div或section)

在您的情况下,您的网页(第一个链接)包含ID Pages1,您可以使用#Pages1代替#content

答案 1 :(得分:0)

此功能有效,只需尝试,您的页面中应该只有一个“主页”文字:

  $(document).ready(function() {
    $("#content").load(". h3"); // reload in the same page
  });

最常见的问题是.load()的第一个参数中的url。在网络控制台中查找404。然后,尝试:

$("#sectionContainer").load("./Pages1.html #content");

你有&lt; base&gt;在你的页面?绝对的网址?