How do you mean, hacking the href?
It's been awhile since I've looked at the Canviz code so I'm trying to remember how things work and why. The HTML that gets created are 1) divs to handle click regions and 2) spans for any text. I've received several reports that the div strategy for handling clicks is insufficient (like ticket #63) and my hope is that image map-based click handling (see ticket #56) would solve this. If we move to that, there won't be any more divs for click regions, leaving only the spans for text. If you're trying to manipulate that text, I can see why you might want to address these spans by id. The thing is, Canviz might not always implement text by creating spans. In the future, I might change it to using text drawn directly on the canvas, since that capability exists in the canvas element now. (It didn't when I started working on Canviz.) Or I might give the developer the option of which method they want. So I don't want to expose access to those spans and give you the impression that I want you to address them, because I don't particularly. Think of them as an implementation detail that's meant to be hidden from you.
Rather, I want you to interact with the JavaScript graph object that Canviz has created for you. Make any changes there, then tell Canviz to re-render it. I'd like to have another more full-featured example that would show off how I intend some of this to work but I haven't created it yet. Note that since I haven't actually tried to do this yet, it might have bugs and not work as I intend...
> A shortcoming that I'd like to fix is that I can't select multiple items, like you select icons on a desktop. I don't know if it would be easier to do this with Canviz (when clickable regions are fully implemented), or try some javascript scheme to do it using the image map.
My feeling is that it's not the job of Canviz to retain a notion of things having been selected, so I'll leave that up to you to track in your application.