【问题标题】:Different detween the href identificationhref标识的区别
【发布时间】:2012-10-29 05:48:50
【问题描述】:

任何人都可以告诉我,这三件事有什么不同。

if ( document.location.href.indexOf('#Work') > -1 ) {
    $('#elementID').animate({"left": "250"}, "slow");
}


 if ( document.location.href.indexOf('#Work') > 0 ) {
    $('#elementID').animate({"left": "250"}, "slow");
}


if ( document.location.href.indexOf('#Work') != -1 ) {
    $('#elementID').animate({"left": "250"}, "slow");
}

【问题讨论】:

  • document.location.href.indexOf('#Work') 是 vanila JavaScript 而不是 jQuery。
  • stackoverflow.com/questions/5757362/… 但这里他们的回答是这样的。
  • jQuery 只是一个 JavaScript 库,与问题相关的部分代码是纯 JavaScript。
  • 好的,谢谢您的指挥。你能告诉我这个对jquery代码的改变吗?
  • $('#elementID').animate({"left": "250"}, "slow"); 是 jQuery。而 jQuery 是 JavaScript。

标签: javascript jquery


【解决方案1】:

“IndexOf”方法将返回在其父级中找到字符串的位置整数。 在这种情况下,document.location.href

中的“#Work”
  1. "> -1" 找到字符串时返回。

  2. "> 0" 在第一个字符后找到字符串时返回

  3. "!= -1" 找到字符串时返回,与位置无关(与 #1 相同)

顺便说一句 - 这是核心 Javascript 而不是 Jquery。

【讨论】:

    【解决方案2】:

    第一个和第三个示例几乎相同。 indexOf 仅在找不到子字符串时返回 -1,因此它们的工作方式相同。

    href="#Work" 时第二个示例将失败。 #Work 从字符串的第一个字符开始,所以indexOf 将返回0。

    【讨论】:

      【解决方案3】:

      javascript indexOf() 方法返回指定值在字符串中第一次出现的位置,如果要搜索的值从未出现,则返回 -1。 所以从技术上讲,第一个和第三个是等价的。如果要搜索的值出现在字符串的开头,第二个将无法按预期工作。

      【讨论】:

        猜你喜欢
        • 2014-06-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-10-21
        • 2015-01-07
        • 2023-04-02
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多