Monday, June 3, 2024
 Popular · Latest · Hot · Upcoming
176
rated 0 times [  180] [ 4]  / answers: 1 / hits: 26845  / 12 Years ago, tue, april 24, 2012, 12:00:00

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.


More From » jquery

 Answers
36

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;

[#86015] Monday, April 23, 2012, 12 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
ingridmikaylam

Total Points: 93
Total Questions: 81
Total Answers: 105

Location: Nicaragua
Member since Tue, Dec 8, 2020
4 Years ago
;