Я пытаюсь удалить div с помощью jquery, но он не работает.
Это мой html-код:
<html>
<body>
<div id="logout">
<form class="ajax" method="post" action="">
<div id="box_22">
<div id="box_23">
<div id="box_56">
<script src="http://code.jquery.com/jquery-1.10.2.min.js">
<script src="/../js/tt.js" type="text/javascript">
</body>
</html>
и мой сценарий: как я могу удалить поле.
$(".delBtn").click(function (event) {
event.preventDefault();
var clickedID = 'clickId=' + this.id;
jQuery.ajax({
type: "POST", // HTTP method POST or GET
url: "/addchannel/delUsr.php", //Where to make Ajax calls
dataType:"text", // Data type, HTML, json etc.
data:clickedID, //Form variables
success:function(response){
alert("#box_"+clickedID);
$( "div #box_"+clickedID ).remove();
},
});
});
Ваш селектор ошибочен.... "div #box_"+clickedID
выполняет поиск элемента с идентификатором "#box_"+clickedID
внутри элемента div
.
В вашем случае вы можете напрямую использовать селектор id
Обновление: реальным виновником является переменная clickedID
, вы создали ее как строку параметров... поэтому селектор не сработает.
$(".delBtn").click(function (event) {
event.preventDefault();
var id = this.id;
var clickedID = 'clickId=' + id;
jQuery.ajax({
type: "POST", // HTTP method POST or GET
url: "/addchannel/delUsr.php", //Where to make Ajax calls
dataType: "text", // Data type, HTML, json etc.
data: clickedID, //Form variables
success: function (response) {
alert("#box_" + id);
$("#box_" + id).remove();
}
});
});
box_
находятся в div в HTML- box_
, который он опубликовал, поэтому селектор в порядке (просто бессмысленно). РЕДАКТИРОВАТЬ: О, подождите, нет закрывающих тегов ... Бог знает, как эта страница должна выглядеть. : /
Удалите пространство:
$( "div#box_"+clickedID ).remove();
Вам не нужен "div" в селекторе JQuery
$( "#box_"+clickedID ).remove();
delBtn
в этом HTML? Также где закрывающие теги? Если это ваш настоящий HTML-код, то он полностью недействителен, и вы не можете гарантировать какое-либо конкретное поведение с ним.