2013-05-02 3 views
3

Я хотел бы получить ID контейнера в JavaScript, напр:Как получить идентификатор контейнера javascript?

<div id="d_17j_a"> 
    <script type="text/javascript"> 
     alert("<ID of javascript's container here>"); 
     // it will alert: d_17j_a 
    </script> 
</div> 

(ID из DIV является динамическим)

Благодарим за любые предложения!

+0

Вы контролируете разметку? –

+0

см. Http://stackoverflow.com/q/403967/989121 для некоторых предложений – georg

+0

У вас должно получиться начать здесь: http://stackoverflow.com/q/403967/218196. –

ответ

3

<script id="FindMe" type="text/javasctipt"> должна хорошо работать, используя jQuery("#FindMe").parent().id

В чистом JavaScript

document.getElementById("FindMe").parentNode.id

+0

Вы пробовали это .. ?? –

+0

Кто сказал что-нибудь о jQuery? –

+0

@FelixKling Проверьте изменения. – Nomad101

4

Так скрипты загружаются последовательно, так что вы можете получить родительский узел элемента сценария посредством:

var scripts = document.getElementsByTagName('script'); 
var me = scripts[scripts.length-1]; 
console.log('parent id', me.parentNode.id); 
+0

может использовать 'document.scripts'? –

+2

Просто обратите внимание, что этот подход работает правильно, только если скрипты не делятся. – dfsq

+0

Но SO не упоминает ничего w.r.t откладывая сценарии. –

2

Если вы можете добавить id в свой тег скрипта, вы можете захватить родителя с J avascript после извлечения элемента сценария.

<div id="d_17j_a"> 
    <script id="myScript" type="text/javascript"> 
     var parentId = document.getElementById("myScript").parentNode.id; 
     alert(parentId); 
     // it will alert: d_17j_a 
    </script> 
</div> 
Смежные вопросы