窗口位置与jQuery无法正常工作

时间:2013-12-28 00:09:05

标签: jquery

我希望在点击具有某个类的元素时将我的页面重定向到自己的锚点。这是我认为可行的:

$(function()
{
  $('.paginacion').click(function()
  {
    var $this = $(location).attr('href');
    $this += '#nav';
    $(location).attr('href', $this);
  });
});

但是,我可以看到如何在URL中生成所需位置,但稍后它会消失并且不会转到锚点。怎么了?请注意,我对javascrip和jQuery非常愚蠢。

3 个答案:

答案 0 :(得分:1)

如果您正在寻找相当于window.location.href的分配,则需要使用prop,而不是attr

$(location).prop('href', $this);

.prop() vs .attr()

答案 1 :(得分:0)

你能不写:

$(function () {
  $('.paginacion').click(function()
  {
    var $this = window.location.href;
    $this += '#nav';
    window.location.href = $this;
  });
});

答案 2 :(得分:0)

你不明白jQuery是如何工作的。 .prop.attr用于DOM元素,而不是location之类的对象。我并不完全理解您的代码与您完全诚实的关系,因为点击.pagination时它只会将#nav添加到该位置。我假设您想要获取被点击元素的属性并转到那个而不是仅添加#nav,因为这将毫无意义。

$(function() {
      $('.pagination').click(function()
        //spelling error | (paginacion => pagination)
        {
            location.href=$(this).attr("href");
        });
      });

或者,如果您只想将#nav附加到该位置,请使用此。

    $(function() {
          $('.pagination').click(function()
            //spelling error | (paginacion => pagination)
            {
                location.href+="#nav";
            });
          });

如果可以,请详细说明并添加到您的问题中。