diff --git a/src/js/spanMacroJS.tw b/src/js/spanMacroJS.tw
index 9f180ee28f1471d5aada4d6a5f22c2698e25edb3..bdded0f8213cdfc72a31cd98270261cb11cd1764 100644
--- a/src/js/spanMacroJS.tw
+++ b/src/js/spanMacroJS.tw
@@ -11,7 +11,7 @@ Macro.add('span', {
 	tags     : null,
 		
 	handler() {
-		const payload        = this.payload[0].contents.replace(/\n$/, '');
+		const payload        = this.payload[0].contents.replace(/(^\n+|\n+$)/, '');
 		let statement        = this.args.raw.trim();
 		let result;
 		
@@ -27,10 +27,8 @@ Macro.add('span', {
 		
 		Config.debug && this.debugView.modes({block: true});
 		
-		payload.replace(/^\n/, '');
-		let span = jQuery(document.createElement('span'))
-			.prop('id', String(result))
+		jQuery("<span id='" + String(result) + "' />")
+			.wiki(payload)
 			.appendTo(this.output);
-		span.wiki(payload);
 	}
 });
\ No newline at end of file