SVGAElement: interestForElement property
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
Non-standard: This feature is not standardized. We do not recommend using non-standard features in production, as they have limited browser support, and may change or be removed. However, they can be a suitable alternative in specific cases where no standard option exists.
The interestForElement property of the SVGAElement interface gets or sets the target element of an interest invoker, in cases where the associated <a> element is specified as an interest invoker.
See Creating an interest invoker for more details.
Value
An Element object instance, or null if the associated <a> element does not have a target element set.
Examples
>Basic interestForElement usage
In this example, we use an SVG <a> element's interestForElement property to set its target element and then retrieve the target element's tagName. The tagName is then included in the <a> element's text content.
HTML
The markup contains an SVG <a> element with a <text> element, and the link text is included within the <text> element. There's also an HTML <div> element. We turn the <div> element into a popover by setting the popover attribute on it.
<svg>
<a href="#">
<text x="90" y="20" text-anchor="middle">A link</text>
</a>
</svg>
<div id="mypopover" popover>I am a <code><div></code> element.</div>
JavaScript
We get references to the <a>, <text>, and <div> elements in script. We then create the interest invoker-target relationship between the <a> and the <div> by setting the <a> element's interestForElement property equal to a reference to the <div>. We then update the <text> content to display the target element's tagName, retrieved via invoker.interestForElement.tagName.
const invoker = document.querySelector("a");
const invokerText = document.querySelector("text");
const popover = document.querySelector("div");
invoker.interestForElement = popover;
invokerText.textContent = `My target is a ${invoker.interestForElement.tagName} element`;
Result
The example renders like this:
Try showing interest in the link (for example, by hovering or focusing it) to make the <div> appear.