Obtain a reference to <script> parent element

javascript, jquery, reference

Solution

As mentioned in What is the current element in Javascript?, the current `<script>` element is also the last `<script>` element, at the time of execution.

The answer also applies to your case, since the load of the external script is not deferred (through the `async` or `defer` attribute).

var scriptTag = document.getElementsByTagName('script');
scriptTag = scriptTag[scriptTag.length - 1];
var parentTag = scriptTag.parentNode;

Most browsers (even IE6) support `document.scripts`. Firefox supports this object as of version 9. So, the following code can also be used:

var scriptTag = document.scripts[document.scripts.length - 1];
var parentTag = scriptTag.parentNode;

Problem

I have a similar problem like posted here but instead of obtain the parent id, how Can I get a reference to the script parent without having to code an id for the script tag? For example, I have the following code injected to a website: ``` <div> some other html tags <script src="http://path_to_my_script.js"></script> </div> ``` What I need is that in my `path_to_my_script.js` file I can get a reference to the outer `div`. There is a catch and is that the code will be copied&pasted in several places in the same webpage, which makes an identifier useless. There is any chance to do that without to code an id in the entire code? If the solution is with jQuery the better :D Thanks in advance.

Original source

Related problems