1

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のドキュメントには、次のことができると記載されているため、これでうまくいくと思いました。

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

私が間違っていることについて何か考えはありますか?または、この種のテキストをjQueryの変数に追加できませんか?

4

2 に答える 2

1

使用している場合

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

次に、最初のリンクで参照されるページに、IDを持つ要素(たとえば、divまたはセクション)が含まれている必要がありますcontent

あなたの場合のように、あなたのページ(最初のリンク)にはあなたが代わりにPages1使うことができるIDが含まれています#Pages1#content

于 2012-05-16T09:10:01.423 に答える
0

この機能は機能します。代わりに試してみてください。ページに「ホーム」テキストが1つあるはずです。

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

最も一般的な問題は、.load()の最初のパラメーターのURLです。ネットワークコンソールで404を探します。次に、試してください:

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

ページに<base>がありますか?絶対URL?

于 2012-05-16T08:56:46.327 に答える