когда мы пишем $("p") то библиотека находит массив тегов <p>.
а если быть точней, то возвращает jQuery объект, который хранит в себе массив тегов <p>
а в функцию как раз передается индекс этого массива:
<!doctype html>
<html>
<head>
<title>demo</title>
<script src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
</head>
<body>
<p>1</p>
<p>2</p><p>2</p>
<p>3</p>
<script>
$("p").replaceWith(function(e, myhtml){
console.log(e);
return $("<span>").html(myhtml);
})
</script>
</body>
</html>