【问题标题】:Comparing old and new value of the same variable in jquery比较jquery中相同变量的新旧值
【发布时间】:2012-10-04 10:56:20
【问题描述】:

我使用 Ajax 编写了一个网站,我想比较点击的链接以避免页面重新加载。 我的方法是使用一个名为 Link 的变量并将 url 存储到其中。 每次我点击#button,url都会存储到Link中, 然后我调用CompareLink() 函数,然后调用GoToLink() 函数。

var Link;

$('#button').click(function() {
    Link = http://myurl ;
    CompareLink();
    GoToLink();
}

数据比较有问题。我想将Link 的旧值与新值进行比较,所以我写了一个非常模糊的方法(不工作),我想知道是否有人可以帮助我。

function CompareLink() {
    if ( Link == .data(Link)) {
        //execute code
    }
}

【问题讨论】:

  • 您能更具体地说明您要实现的目标吗?

标签: javascript jquery compare var


【解决方案1】:

这个怎么样?

<a href='something here' class='button' >something</a>
<a href='something else here' class='button' >something else</a>​


var link = null, oldLink = null;
$('.button').click(function() {
    link = $(this).attr('href');
    if (oldLink == null) {
         oldLink = link;
    }
    CompareLink(link, oldLink);
    return false;
}

然后

function CompareLink(link, oldLink) {
    if ( link == oldLink) {
        // do something now
    }

    oldLink = link;
}

function GoToLink(link) {
    window.location.href = link;
}

查看我制作的这个小提琴:http://jsfiddle.net/V9DyW/

【讨论】:

  • 它不起作用,因为“东西”是以前的数据,存储在链接中,每次点击另一个链接时它都会改变
  • 干得好,我开始创建自己的解决方案,但您的解决方案也有效!谢谢Rorchakh
  • 我还不能投票,但感谢您花时间创建 de jsfiddle :)
【解决方案2】:
var data = {}
var count = 0;
data['name' + count++] = "value1" -> name1
data['name' + count++] = "value2" -> name2

获取旧值

data['name' + (count - 1)] ->  'value1'

【讨论】:

猜你喜欢
  • 2023-03-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-28
相关资源
最近更新 更多