0

我有一些这样的导航:

<div class="nav">
    <ul>
        <li><a href="#">Home</a></li>
        <li><a href="#">About</a></li>
        <li><a href="#">Contact</a></li>
    </ul>
</div>

我希望当我单击链接时将该页面的内容插入到对象中。我试过了

$('nav ul li a').click( function() {

    var obj={};

    $(this).nextAll('.content').insertAfter(obj);

});

换句话说,我试图在对象中缓存该内容,所以稍后如果我想做一些我想在对象中搜索的事情。我希望我的问题被正确提出:)

4

2 回答 2

0

您可以使用.data()存储内容,例如:

$('.nav ul li a').click(function (e) {

  var url = $(this).attr("href");
  $.get(url, function (content) {
    $(this).data('content', content);
  });

  // Prevent the anchor's default click action
  e.preventDefault();
});

并查看如下内容:

$('.nav ul li a').each(function () {

  // Open the console to view the content
  console.log($(this).data('content'));
});
于 2013-01-14T09:12:42.897 回答
0

你确定你知道 javascript 对象实际上是什么吗?它们不能像那样插入到 DOM 中,调用obj = {}实际上也不会从任何地方加载任何东西。

据我了解,您正在尝试通过 AJAX 加载页面内容。如果是这样的话,我建议你看看 jQuery 的.get()

$('nav ul li a').click( function() {
    var location = $(this).attr("href"); // get the location of the link
    $.get(location, function(data){ // call AJAX to load the page content
         $("#content").html(data); // put page content into #content
    });
    return false; // make sure the link doesn't then follow through
});
于 2013-01-14T08:28:29.797 回答