我最近正在经历一个jQuery教程的家伙轻轻松松过的东西,我真的不明白...脚本和标记是:jQuery初学者 - 解释这个if语句的逻辑吗?
$("document").ready(function() {
$("#example p").replaceWith(replacementFn);
});
function replacementFn() {
if ($(this).text().indexOf("1") != -1) {
return "<p>This is paragraph uno</p>";
}
else {
return this.outerHTML;
}
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="example">
<p class="a">This is paragraph 1</p>
<p id="para1">This is paragraph 2</p>
<p class="b">This is paragraph 3</p>
<p id="para4" lang="en-us">This is paragraph 4</p>
<p id="para5" lang="en-gb">This is paragraph 5</p>
</div>
的事情,我不明白这里是背后的逻辑“如果($(本)的.text()的indexOf(‘1’)!= -1”。我明白!=表示“不等于”,并且我们正在寻找在一个数字“1”的每个p元素,但我想我不明白这里什么-1表示,为什么它使说法正确。
教程中的人简单地说'让我们找一个字符串“一个”,这不等于一个,这意味着它被发现'然后继续前进。
我敢肯定,这是对程序员非常明显的,但我更多的是前端开发人员试图获得的jQuery和JavaScript的一些基本知识。任何解释,这将是一个相对通俗的意义,将不胜感激!
的'.indexOf()'函数返回'-1'当它没有找到字符串中的搜索目标。 – Pointy
从'.indexOf()'返回的任何非负数都是找到的索引。 “-1”表示没有找到索引,因为“-1”总是在索引范围之外。 (从技术上讲,所有负数始终在索引范围之外,但按照约定使用“-1”。) – David
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/indexOf – j08691