Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JavaScript] jQuery insertBefore insertAfter nie dziala ...
Octobus
post
Post #1





Grupa: Zarejestrowani
Postów: 259
Pomógł: 1
Dołączył: 3.07.2011

Ostrzeżenie: (0%)
-----


Witam. Potrzebuje tag img umiescic w tagu a przez jquery w ten sposob ze mam
Kod
<img src="obrazek.jpg"/>

a chce miec
Kod
<a href="obrazek.jpg"><img src="obrazek.jpg"/></a>


Mam kod:
Kod
$("img").each(function(index) {
                $('<a href="obrazek.jpg">').insertBefore($(this));
                $('</a>').insertAfter('.inner');
                
            })


w miejsce obrazek.jpg wstawie sobie pozniej url z img, ale kod niestety nie dziala ;/
Chce przerobic w ten sposob obrazki zeby byly obslugiwane przez fancybox (odmiana lightnox'a)
Go to the top of the page
+Quote Post
gargamel
post
Post #2





Grupa: Zarejestrowani
Postów: 278
Pomógł: 35
Dołączył: 25.06.2010

Ostrzeżenie: (0%)
-----


Poczytaj o selektorach o jQuery: http://api.jquery.com/category/selectors/

Takie coś
[JAVASCRIPT] pobierz, plaintext
  1. $('<a href="obrazek.jpg">').
[JAVASCRIPT] pobierz, plaintext
nie ma prawa zadziałać.

Edit:

Poza tym raczej chcesz użyć:
[JAVASCRIPT] pobierz, plaintext
  1. $(this).insertBefore('<a href="obrazek.jpg">');
  2. $(this).insertAfter('</a>');
[JAVASCRIPT] pobierz, plaintext


Ten post edytował gargamel 24.10.2011, 19:50:24
Go to the top of the page
+Quote Post
Octobus
post
Post #3





Grupa: Zarejestrowani
Postów: 259
Pomógł: 1
Dołączył: 3.07.2011

Ostrzeżenie: (0%)
-----


Taki kod:
Kod
$("img").each(function(index) {
                $($(this)).insertBefore('<a href="obrazek.jpg">');
                $($(this)).insertAfter('</a>');
                
            })



Zamienia mi caly tag na " "
tutaj [ http://api.jquery.com/insertAfter/ ] jest napisane:
Kod
.insertAfter( target )


a w przykładach
Kod
$('h2').insertAfter($('.container'));

więc chyba dobrze tego używam. Niestety problem nadal nie rozwiązany ;/
Go to the top of the page
+Quote Post
gargamel
post
Post #4





Grupa: Zarejestrowani
Postów: 278
Pomógł: 35
Dołączył: 25.06.2010

Ostrzeżenie: (0%)
-----


Pomyliło mi się z after... Pozatym tak na dobrą sprawę to właśnie after() powinieneś użyć.

I nie $($(this)), tylko $(this)
[JAVASCRIPT] pobierz, plaintext
  1. $(this).before('<a href="obrazek.jpg">');
  2. $(this).after('</a>');
[JAVASCRIPT] pobierz, plaintext


Ten post edytował gargamel 24.10.2011, 20:05:23
Go to the top of the page
+Quote Post
Octobus
post
Post #5





Grupa: Zarejestrowani
Postów: 259
Pomógł: 1
Dołączył: 3.07.2011

Ostrzeżenie: (0%)
-----


Dzieki kolego, niestety jestem noga z js ;/ Już prawie mam jeszcze tylko nie wiem dla czego zamyka sam 1 tag i nie pokazuje mojego zamkniecia ;| chyba trzeba skorzystac z jakiegos innego polecenia ;/. Jak narazie mam tak:
Kod
$("img").each(function(index) {
                $(this).before('<a href="obrazek.jpg">0');
                $(this).after('a</a>');                
            })

i daje mi to:
Kod
<a href="obrazek.jpg">0</a>
<img src="obrazek.jpg"/>
"a"


Ten post edytował Octobus 24.10.2011, 20:25:17
Go to the top of the page
+Quote Post
gargamel
post
Post #6





Grupa: Zarejestrowani
Postów: 278
Pomógł: 35
Dołączył: 25.06.2010

Ostrzeżenie: (0%)
-----


Ok inaczej, zamiast after i before, daj po prostu:

[JAVASCRIPT] pobierz, plaintext
  1. <script type="text/javascript">
  2. $(document).ready(function(){
  3. $("img").each(function() {
  4. $(this).replaceWith( "<a href='"+ $(this).attr("src") +"'>" + "<img src='"+ $(this).attr("src") +"' />" + "</a>" );
  5. })
  6. });
  7. </script>
[JAVASCRIPT] pobierz, plaintext


Ten post edytował gargamel 24.10.2011, 20:54:57
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 23:31