JSFiddle - React, Tailwind, and code Playground

by David_Knowles

HTML

<span class="obfuscate" data-mail-user="hi" data-mail-domain="davidknowles.info">
	<span class="icon-wrapper">
		<i class="icon icon-envelope-alt" title="E-mail"></i>
	</span>
    <span class="value" itemprop="email">Hi [at] this domain [dot] nl</span>
</span>

JavaScript

/* JS Extract a value an then change it */


// -------- anti spam script
$(function(){
	var emailLink = $(".obfuscate"); //span
	var atsign = "@";
	if (emailLink.length > 0){
		for (var i = 0; i < emailLink.length; i++) {
			var user =  $(emailLink[i]).attr("data-mail-user");
			var domain =  $(emailLink[i]).attr("data-mail-domain");
			var addr = user + atsign + domain;
			var emailTxtValue = $(emailLink[i]).find(".value"); // find and store email value if used
			if (emailTxtValue) {
				$(emailLink[i]).find(".value").text(addr);
			}
	
			if (user.length > 0){ // optional alternative source for link text. Defaults to email address if no title is defined
				var linkTitle =  $(emailLink[i]).attr("data-mail-linktext");
				if (linkTitle){
					var emailTxtValue = $(emailLink[i]).find(".value").text(linkTitle);
				} 
				var newContent = $(emailLink[i]).html().trim();

			$(emailLink[i]).replaceWith("<" + "a" + " " + "href=" + "mail" + "to:" + addr + ">" + newContent + "<\/a>");//contacttxt
			}
		}
	}
});