You cannot stop that, also it's not recommended to manipulate dom based on ID, as the framework replaces custom id to globally unique id in the page.
So to get element you have two options.
Get it by class query selector.
get it by Data attribute.
Here are the examples for the same.
let div = this.template.querySelector('.popup');
Using the data ...
The issue here is not really GTL, but the way you have structured your JSON data.
This data structure, in its current form, isn't really suitable for GTL, or any template engine for that matter. It's not consistent. For a start:
some objects define quantity as an object (an an empty one too), while others as a value
Attributes are in name/value pairs as ...
You can't really do what you'd want with typical email templates as they can only really display static images that you paste in or references to files that already exist. Since, in this case, the records/files will be created moments before (or be the trigger), it'll need to be able to dynamically pull them when the alert goes out. I can see one of two ...
You need to replace the src="image_name" value with the image URL generated by Salesforce Marketing Cloud.
After uploading an image to Content Builder, you can find the image URL by clicking on the image to view more details. See below:
You can read more here: Insert Content Builder Image in HTML Paste Email
We've been using the following for a few months now. It seems to work so far. I haven't tried it in the Free Form block but I don't use Free Form for anything. This is based on Chris's answer above which also didn't work for me since Content Builder seems to move things around.
Taking the anchor out of the VML seems to work. I had used the Bulletproof ...