While there may be cases where you're limited to the exact scenario you describe, in which case I would look for a different xss bug as in my experience when there is one xss bug, there are many.
If you were limited to the one bug here are a few things you could try:
- Inject code that terminates the href, ie:
javascript:alert(1)">
- Try to confuse the parser, ie:
javascript:alert(1)" target="_self
- Avoid the terminating " to make the target attribute part of the javascript, ie:
javascript:alert(1);a=\
- Any of the techniques from the Post XSS world article: https://lcamtuf.coredump.cx/postxss/
I would also question your assumptions. Are you sure the Javascript is not executing or the alert box is simply suppressed? Have you tried a different payload?
window.parent
to have some affect on the original page.