Obtenha uma referência ao elemento pai

Eu tenho um problema semelhante, como postado aqui, mas em vez de obter o id pai, como posso obter uma referência para o script pai sem ter que codificar um id para a tag de script?

Por exemplo, eu tenho o seguinte código injetado em um site:

some other html tags

O que eu preciso é que no meu arquivo path_to_my_script.js eu possa obter uma referência ao div externo.

Há um problema e é que o código será copiado e colado em vários lugares na mesma página da Web, o que torna um identificador inútil.

Existe alguma chance de fazer isso sem codificar um id no código inteiro?

Se a solução for com o jQuery, melhor: D

Desde já, obrigado.

Como mencionado em Qual é o elemento atual em Javascript? , o elemento atual também é o último elemento , no momento da execução .

A resposta também se aplica ao seu caso, uma vez que a carga do script externo não é adiada (através do atributo async ou deferido).

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

A maioria dos navegadores (até mesmo o IE6) suportam document.scripts . O Firefox suporta este object a partir da versão 9. Assim, o seguinte código também pode ser usado:

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

Você pode usar o seletor de atributos para obter um script com um src específico, depois o parent('div') para pular para o elemento div contido.

 var parentDiv = $('script[src="path/to/script.js"]').parent('div'); 

Você precisa de uma maneira de referenciar seu script. De que outra forma você espera saber qual script você quer? Se você tiver apenas um script, você sempre pode fazer

 var myScript = document.getElementsByTagName("script")[0]; 

para obter um elemento DOM do primeiro script em sua página. Ou você poderia usar o jQuery e percorrer o seu script para fazer algo com cada um:

 $("script").each(function() { alert($(this).html()); });