Krijg in jquery niet een aangemaakt element verwijderd.
Wanneer ik een element dynamisch aan maak en dan probeer te verwijderen dan lukt dit niet met jquery.
In eerder versies kon ik dit wel doen met .live() maar die functie is vervangen voor .on() en die is werkt anders.
Mijn script is nu:
<!DOCTYPE HTML>
<html lang="nl-NL">
<head>
<meta charset="UTF-8">
<title>Test</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#test").on("click",".add",function(){
$(this).parent().find("ul").append("<li>Tekst<button>Remove</button></li>");
});
$("#container").on("click",".remove",function(){
$(this).parent().remove();
});
});
</script>
</head>
<body>
<div id="test">
<button class="add">Add</button>
<ul id="container">
<li>Tekst<button class="remove">Remove</button></li>
</ul>
</div>
</body>
</html>
In eerder versies kon ik dit wel doen met .live() maar die functie is vervangen voor .on() en die is werkt anders.
Mijn script is nu:
<!DOCTYPE HTML>
<html lang="nl-NL">
<head>
<meta charset="UTF-8">
<title>Test</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#test").on("click",".add",function(){
$(this).parent().find("ul").append("<li>Tekst<button>Remove</button></li>");
});
$("#container").on("click",".remove",function(){
$(this).parent().remove();
});
});
</script>
</head>
<body>
<div id="test">
<button class="add">Add</button>
<ul id="container">
<li>Tekst<button class="remove">Remove</button></li>
</ul>
</div>
</body>
</html>
Gewijzigd op 22/04/2013 17:27:05 door Jaco Grinwis
http://jsbin.com/irenef/3/edit
In het script heb ik echter enkele quotes gebruikt.
-> class='remove'
Ben niet zeker of dat helemaal correct is, maar het werkt wel.
In het script heb ik echter enkele quotes gebruikt.
-> class='remove'
Ben niet zeker of dat helemaal correct is, maar het werkt wel.
Gewijzigd op 22/04/2013 15:20:14 door Pieter R
Pieter R op 22/04/2013 15:14:11:
http://jsbin.com/irenef/3/edit
In het script heb ik echter enkele quotes gebruikt.
-> class='remove'
Ben niet zeker of dat helemaal correct is, maar het werkt wel.
In het script heb ik echter enkele quotes gebruikt.
-> class='remove'
Ben niet zeker of dat helemaal correct is, maar het werkt wel.
Ja super bedankt dat werkt dat ik daar heel de tijd over heen zag.
Jaco,
Was toch al met je script bezig en volgens mij kon die compacter.
http://jsbin.com/usutaz/1/edit
Groet Pieter
Was toch al met je script bezig en volgens mij kon die compacter.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$(document).ready(function () {
$(".add").on("click", function () {
$("ul").append("<li> Tekst <button class='remove'> Remove </button> </li>");
});
$("#container").on("click", ".remove", function () {
$(this).parent().remove();
});
});
<div>
<button class="add">Add</button>
<ul id="container"></ul>
</div>
$(".add").on("click", function () {
$("ul").append("<li> Tekst <button class='remove'> Remove </button> </li>");
});
$("#container").on("click", ".remove", function () {
$(this).parent().remove();
});
});
<div>
<button class="add">Add</button>
<ul id="container"></ul>
</div>
http://jsbin.com/usutaz/1/edit
Groet Pieter
Gewijzigd op 22/04/2013 18:48:04 door Pieter R
Hey Pieter,
Hij kan nog ietsjes compater haha:
Hij kan nog ietsjes compater haha:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$(document).ready(function () {
$(".add").on("click", function () {
$("ul").append("<li> Tekst <button class='remove'> Remove </button> </li>");
});
$(".remove").click(function () {
$(this).parent().remove();
});
});
<div>
<button class="add">Add</button>
<ul id="container"></ul>
</div>
$(".add").on("click", function () {
$("ul").append("<li> Tekst <button class='remove'> Remove </button> </li>");
});
$(".remove").click(function () {
$(this).parent().remove();
});
});
<div>
<button class="add">Add</button>
<ul id="container"></ul>
</div>
Pieter R op 22/04/2013 18:41:44:
Jaco,
Was toch al met je script bezig en volgens mij kon die compacter.
http://jsbin.com/usutaz/1/edit
Groet Pieter
Was toch al met je script bezig en volgens mij kon die compacter.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$(document).ready(function () {
$(".add").on("click", function () {
$("ul").append("<li> Tekst <button class='remove'> Remove </button> </li>");
});
$("#container").on("click", ".remove", function () {
$(this).parent().remove();
});
});
<div>
<button class="add">Add</button>
<ul id="container"></ul>
</div>
$(".add").on("click", function () {
$("ul").append("<li> Tekst <button class='remove'> Remove </button> </li>");
});
$("#container").on("click", ".remove", function () {
$(this).parent().remove();
});
});
<div>
<button class="add">Add</button>
<ul id="container"></ul>
</div>
http://jsbin.com/usutaz/1/edit
Groet Pieter
Hoi Robert,
Had dit wel geprobeert.
Het vreemde is dat dat niet werkt.
http://jsbin.com/uxedog/2/edit
Jouw aanpassing gedaan op regel 3 en dat gaat weer wel goed.
Enig idee?
Groet Pieter
Had dit wel geprobeert.
Het vreemde is dat dat niet werkt.
http://jsbin.com/uxedog/2/edit
Jouw aanpassing gedaan op regel 3 en dat gaat weer wel goed.
Enig idee?
Groet Pieter
Jazeker:
Je moet de click functie van .remove pas initializeren als de .remove er is.
Had dit even over het hoofd gezien.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
$(document).ready (function () {
$(".add").click (function () {
$("ul").append("<li> Tekst <button class='remove'> Remove </button> </li>");
$(".remove").click (function () {
$(this).parent().remove();
});
});
});
$(".add").click (function () {
$("ul").append("<li> Tekst <button class='remove'> Remove </button> </li>");
$(".remove").click (function () {
$(this).parent().remove();
});
});
});
Je moet de click functie van .remove pas initializeren als de .remove er is.
Had dit even over het hoofd gezien.
Daar moest ik even goed over nadenken...
Ben nog niet zo lang bezig met jQuery.
http://jsbin.com/asuqir/2/edit
Hiermee werd het wel duidelijk.
De eerst drie wel geinitaliseerd. De toegevoegde niet.
In iedergeval dank.
Groet Pieter
Ben nog niet zo lang bezig met jQuery.
http://jsbin.com/asuqir/2/edit
Hiermee werd het wel duidelijk.
De eerst drie wel geinitaliseerd. De toegevoegde niet.
In iedergeval dank.
Groet Pieter




