Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 在锚定单击上追加页面内容_Jquery_Html_Twitter Bootstrap_Smooth Scrolling - Fatal编程技术网

Jquery 在锚定单击上追加页面内容

Jquery 在锚定单击上追加页面内容,jquery,html,twitter-bootstrap,smooth-scrolling,Jquery,Html,Twitter Bootstrap,Smooth Scrolling,我正在尝试编写一个简单的jquery函数,在特定点将html文件的内容插入当前页面,并在单击链接时激活bootstrap的smoothscroll.js向下滚动到该页面 这是我的开始: 脚本: <script type="text/javascript"> $('a').filter('[data-fetch]').click(function(e){ var clicked = $(e.target).closest('a') , fetch = clicked

我正在尝试编写一个简单的jquery函数,在特定点将html文件的内容插入当前页面,并在单击链接时激活bootstrap的smoothscroll.js向下滚动到该页面

这是我的开始:

脚本:

    <script type="text/javascript">
$('a').filter('[data-fetch]').click(function(e){
  var clicked = $(e.target).closest('a')
  ,   fetch = clicked.attr('data-fetch')
  ;

  $.ajax({
    url: fetch,
    success: function(data){

      $('body').append(data);
      smoothScroller(clicked.attr('href'));

    });
  });
});
    </script>

$('a')。筛选('[data fetch]')。单击(函数(e){
var clicked=$(e.target)
,fetch=clicked.attr('data-fetch')
;
$.ajax({
url:fetch,
成功:功能(数据){
$('body')。追加(数据);
平滑滚动条(单击.attr('href');
});
});
});
HTML:



#about
锚定位于
index-alt.html
页面中。这是否正确?

我认为您正在尝试获取单击元素的属性,因此请尝试以下操作:

$('a').filter('[data-fetch]').click(function(e){
    var fetch = $(this).data('fetch'); //this here refers to the clicked element.
您也可以去掉过滤器,然后执行以下操作:

$('a[data-fetch]').click(function(e){
     var fetch = $(this).data('fetch');

我认为您正在尝试获取clicked元素的属性,因此请尝试以下操作:

$('a').filter('[data-fetch]').click(function(e){
    var fetch = $(this).data('fetch'); //this here refers to the clicked element.
您也可以去掉过滤器,然后执行以下操作:

$('a[data-fetch]').click(function(e){
     var fetch = $(this).data('fetch');
只需使用
.load()

只需使用
.load()


我猜他不能使用load,因为这将用新的html替换正文的全部内容。似乎他正试图用ajax附加新数据。我猜他不能使用load,因为这将用新的html替换整个正文内容。看起来他想用ajax添加新数据;有没有一个平台可以推荐给我,让我试着演示这个答案?@RobM你可以把它添加到你的代码中,它应该可以工作;有没有一个平台可以推荐给我,我可以试着演示这个答案?@RobM你可以把它添加到你的代码中,它应该可以工作。