I was afraid of that. If you really want something stable, something you can put literally anywhere on the page, then forget about searching through the DOM. Even if it worked, it wouldn't be pretty.
The easiest way is to just explicitly link the two elements together. The paragraph of hidden text will have an id, and the link that reveals that paragraph will have an attribute that is set to that id. Does that make sense? Here's an example:
<p class="hidden-text" id="someUniqueId">blah blah blah</p>
(In the example, I used "data-for". But you can call it just about anything you want. The "data-" prefix is an HTML5 solution for an essentially non-existent problem, but this is one such instance. If you wanted, you could even make up your own attribute name; you just wouldn't have valid HTML.)
- get the "data-for" attribute (or whatever groovy name you gave it) off the link
- slideToggle the element that has that id
The advantage to this technique is that you can put the link and the paragraph anywhere. Anywhere. They don't even have to be next to each other. And it'll still work! Much better.