2011-09-13 13 views
5

Jak znaleźć element względem pozycji skryptu? Na przykład, w przypadku poniżej chciałbym getSelfParent wrócić elementowi $('button')Jak znaleźć rodzica znacznika skryptu?

<button> 
    <script> 
     getSelfParent().click(function(){...}); 
    </script> 
</button> 

$(this).parent() nie działa.

EDIT:

chcę uniknąć:

  • dodanie ID jest nigdzie
  • przejeżdżające całe drzewo za każdym razem szukam elementu
+1

Dlaczego chcesz zrobić jes s? –

+0

@ ar: w ten sposób chcę utworzyć przyciski w moim php –

+1

jest bardzo prawdopodobne, że skrypt zawsze będzie znajdować się w określonym elemencie, więc dlaczego nie wystarczy podać element, do którego chcesz uzyskać dostęp i uzyskać do niego dostęp za pomocą $ ('#ID')? – clem

Odpowiedz

5
@Jakub M: this is the way I want to create buttons in my php. 

Spróbuj wygenerować HTML | wyjście SCRIPT jak:

<button> 
    <script id='RandomOrUniqueIdValue'> 
     var script=document.getElementById('RandomOrUniqueIdValue'); 
     // var script=$('#RandomOrUniqueIdValue'); 
    </script> 
</button> 
+0

, więc zamiast podawać przycisk, id podaje go skryptowi (dla którego id nie jest nawet poprawnym atrybutem)? – clem

+0

@stratton. Co zrobić, jeśli nie ma elementu rodzica dla skryptu (takiego jak przycisk) lub jest on nieznany? I SCRIPT w MSDN: http://msdn.microsoft.com/en-us/library/ms535892%28v=VS.85%29.aspx Wyszukiwanie atrybutów ID. w MDN: https://developer.mozilla.org/en/HTML/Element/script sprawdź obsługę tagów dla atrybutów globalnych. –

2

Nie sądzę self istnieje naprawdę sposób dostępu do elementu nadrzędnego znacznika skryptu, ponieważ skrypt jest wykonywany w odniesieniu do obiektu okna, a nie znacznika html, w którym się znajduje.

ogólnie rzecz biorąc, raczej niż kopiując i wklejając ten sam/podobny kawałek javascript wewnątrz każdego elementu przycisku, byłoby bardziej sensowne, aby po prostu dać im klasę i dostęp do nich w jednym js funkcji

1

należy zrobić:

<button> 
    <script type="text/javascript" id="myscriptToHide1"> 
     jQuery('#myscriptToHide1').parents('button').hide(); 
    </script> 
</button> 
Powiązane problemy