我最近正在阅读 jQuery 教程,这家伙轻而易举地解决了一些我不太了解的事情......脚本和标记是:
$("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;
}
}Run Code Online (Sandbox Code Playgroud)
<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>Run Code Online (Sandbox Code Playgroud)
我在这里不明白的是 'if ($(this).text().indexOf("1") != -1' 背后的逻辑。我明白 != 意味着'不等于',并且我们在每个 p 元素中寻找一个数字“1”,但我想我不明白 -1 在这里是什么意思以及为什么它使语句正确。
教程中的那个人只是说'让我们寻找字符串“一”,它不等于一,这意味着它被找到了'然后继续前进。
我相信这对程序员来说非常明显,但我更像是一名前端开发人员,试图获得一些 jQuery 和 Javascript 的基础知识。任何对相对外行有意义的解释将不胜感激!