Li item wordt niet verwijderd .remove

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Olivier Peeters

Olivier Peeters

02/08/2012 15:29:48
Quote Anchor link
Probleem (meestal als je een post opent op het forum :))
JQuery
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$(document).ready(function() {
    $("p").click(function () {
            
        if(div === "selected") {    
            // Verwijder x figuur & verwijder deze class
            $(this).removeClass("selected");
            $("img.delete").remove();

            // Verwijder deze uit de lijst

            $("li.'+nummer+'").remove();
            //$("li.60m").remove();
                    
        }
       })
});


HTML
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
<p class="selected" onclick="return false">60m + (img) </p>
<li id="listItem_3" class="60m">(img) + 60m</li>


De li wordt niet verwijderd, de imges en de class wel. Wat gaat er mis?

Groeten,
Olivier
Gewijzigd op 02/08/2012 15:36:32 door Olivier Peeters
 
PHP hulp

PHP hulp

25/11/2024 12:44:03
 
Kris Peeters

Kris Peeters

02/08/2012 16:15:26
Quote Anchor link
Momenteel staan daar twee variabelen die niet gedefiniëerd zijn:
div en nummer.
Komen die ergens (buiten de functies) anders voor?
Gewijzigd op 02/08/2012 16:19:29 door Kris Peeters
 
Olivier Peeters

Olivier Peeters

02/08/2012 16:17:10
Quote Anchor link
Ik spreek de class aan met li.60 (dus list class="60m" ofwel => <li id="listItem_3" class="60m">(img) + 60m</li> ) ik zeg het: dit werkt wel:
//$("li.60m").remove();
maar al ik dit doe= $("li.'+nummer+'") dan werkt dit niet (nummer = 60m)....
Gewijzigd op 02/08/2012 16:23:19 door Olivier Peeters
 
Erwin H

Erwin H

02/08/2012 16:22:29
Quote Anchor link
$("#li.'+nummer+'")

Je gebruikt de quotes verkeerd. Probeer dit:
$("#li."+nummer)
 
Kris Peeters

Kris Peeters

02/08/2012 16:24:22
Quote Anchor link
Ik zou je altijd afraden om indexen/variabelen/functienamen/... te laten beginnen met een cijfer.
Soms zal het mogen, maar in veel talen/omstandigheden moet je je houden aan dit:
Het eerste karakter moet een letter zijn ofwel een underscore.

Ik zou je aanraden dit overal en altijd te doen.

En dus nog het mysterie van de twee niet-gedefiniëerde variabelen ...
 
Olivier Peeters

Olivier Peeters

02/08/2012 16:55:12
Quote Anchor link
Bijna fixed :) Het probleem, de IMG werd meegerekend, waardoor hij dus niet de goede vergelijking kon maken. Oplossing: Alles in aparte div

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<p onclick="return false">60m <p class="delete"></p></p><br />

            
        if(div === "selected") {
    
            // Verwijder x figuur & verwijder deze class
            $(this).removeClass("selected");
            $("img.delete").remove();

            // Verwijder deze uit de lijst
            $("."+nummer).remove();

            aantal--;
                    
        }


Maar ö Mijn figuur wort niet meer juist getoont... Heeft er iemand hiervoor een oplossing?
Ik doe nu:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$(this+'.delete').append(img);


Ter info:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
    var nummer = $(this).html();
        var div = $(this).attr('class')


Groeten
 
Erwin H

Erwin H

02/08/2012 17:03:35
Quote Anchor link
"this" is geen string, dus volgens mij gaat $(this+'.delete') niet werken. Wat wel kan is:
$(this).find('.delete').append(img);
 
Olivier Peeters

Olivier Peeters

02/08/2012 17:06:38
Quote Anchor link
Werkt niet echt :s Ik zie het niet echt...
 
Erwin H

Erwin H

02/08/2012 17:38:06
Quote Anchor link
Wacht, ik denk dat ik het zie. Ik ging ervanuit dat het item met class 'delete' een kind was van het huidige element (this), maar als ik boven kijk is dat niet zo.

Als je het eerstvolgende element met class 'delete' wilt hebben dat niet een kind is van het huidige dan kan dat op de volgende manier:
$(this).nextAll('.delete:first').append(img);


Toevoeging op 02/08/2012 17:39:20:

Uh, en ik moet eerlijk zijn. Dit kwam ook niet uit mijn parate kennis, maar via een google search (jquery find first element after current):
http://stackoverflow.com/questions/5018211/jquery-target-span-after-current-element

Ere wie ere toekomt.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.