The removeAttribute() method of the ProcessingInstruction removes the attribute with the specified name from the processing instruction.
removeAttribute(attrName)attrNameA string specifying the name of the attribute to remove from the processing instruction. If the specified attribute does not exist, removeAttribute() returns without generating an error.
None (undefined).
You should use removeAttribute() instead of setting the attribute value to null (either directly or using setAttribute()). Many attributes will not behave as expected if you set them to null.
const pi = document.createProcessingInstruction("start", 'name="placeholder"');
pi.removeAttribute("name");
console.log(pi);
// logs:
// <?start?>