Question: I am trying to make a chrome extension that finds certain words on pages and turns them into hyperlinks. So for example, if I visit a website that has the word "search" written somewhere, then that word will turn into a link that I can click on (it will still appear as the word but maybe in a different colour or something) and be redirected to "www.google.com".

I have a code that finds words and changes them to other words but I don't know how to change them to hyperlinks. Here is the JavaScript I have:

```
walk(document.body);    
function walk(node)  
{       
    var child, next;    
    switch ( node.nodeType )  
    {
        case 1: 
        case 9:  
        case 11: 
            child = node.firstChild;
            while ( child ) 
            {
                next = child.nextSibling; 
                walk(child);
                child = next;
            }
            break;    
        case 3: 
            handleText(node);
            break;
    }
}

function handleText(textNode) 
{
    var v = textNode.nodeValue;    
    v = v.replace(/\bsearch\b/g, (str.link("https://www.google.com")));
    v = v.replace(/\bsearch\b/g, <a href="http://www.google.com">asdf</a>);

    textNode.nodeValue = v;
}

```

Can somebody helpful help me out please?

Answer: 
The very documentation you linked to contains the answer:

> 
> [`operator ==(a1, a2)`] returns true only if the storage allocated by the
>  allocator `a1` can be deallocated through `a2`. Establishes reflexive,
>  symmetric, and transitive relationship. Does not throw exceptions.
> 
> 
> 

So whenever you have an allocator for a certain type, you can check whether you can use it to deallocate memory of a different type without the need to rebind the allocator.
Docs also says

> 
> a1 == a2 returns true only if the storage allocated by the allocator
>  a1 can be deallocated through a2. Establishes reflexive, symmetric,
>  and transitive relationship. Does not throw exceptions.
> 
> 
>