Your code works, but it will remove the entire element. empty
will remove all child nodes including text or nested elements.
If you just wanted to remove all the text from elements containing dots you could do:
$(":contains('•')").text();
If you just wanted to get rid of the dots and leave everything else:
$(":contains('•')").each(function() {
var text = $(this).text();
text.replace(/•/gi, ""))
$(this).text(text);
});