<p class="myString">something to remove xxx here within a tag</p>
$('p.myString').text(function(_, txt) {
return txt.replace('xxx', '');
});
上面的代码工作但第一个参数是什么?一个_
?
答案 0 :(得分:3)
正如documentation所说,第一个参数是您当前正在处理的元素的索引。
答案 1 :(得分:2)
名为_
的参数通常表示此参数将被忽略,并且不在函数中使用。这只是一个约定,它仍然是一个有效的参数名称,并且没有任何东西阻止您无论如何使用此参数。
如果使用它,参数究竟是什么取决于框架 - 在这种情况下是另一个答案中提到的jQuery文本函数。
答案 2 :(得分:1)
在您的代码段中,_
位于index
的位置,它位于.text(fn)
的回调功能的第一个参数中一个是集合中的元素:
$('p.myString').text(function(_, txt) {
return txt.replace('xxx', _); // it changes all the "xxx" with their index values
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p class="myString">something to remove xxx here within a tag</p>
<p class="myString">something to remove xxx here within a tag</p>
<p class="myString">something to remove xxx here within a tag</p>
<p class="myString">something to remove xxx here within a tag</p>
<p class="myString">something to remove xxx here within a tag</p>
<p class="myString">something to remove xxx here within a tag</p>
<p class="myString">something to remove xxx here within a tag</p>
_
代表元素的索引,因为_they相对于其父_出现。