私はremove()
メソッドに問題があります。 $(this)
オブジェクトを削除できません。私のコードは次のとおりです。
$(".submit_add_type").live("click", function() {
var parent = $(this).parent();
var type_value = parent.children('.type_value').val();
var type_name = parent.children('.type_name').val();
var parent2 = parent.parent();
var permission = parent2.attr('id').replace('perm_types_', '');
$.ajax({
url: "/admin/ajax/permission_type_add", type: "POST", cache: false,
data: {
permission: permission,
type_value: type_value,
type_name: type_name,
},
success: function(text) {
if(text.substr(0,2) == "ok") {
var id = text.replace('ok|', '');
$(this).remove();
parent.append('<input class="submit" type="submit" name="" value="edytuj" id="edit_type_'+ id +'" /> <input class="submit delete_type" type="submit" name="" value="usuń" id="delete_type_'+ id +'" />')
} else {
alert(text);
}
}
});
});
私は$(".submit_add_type").remove();
に$(this).remove();
を変更すると、それは完璧に動作します。何が間違っていますか?
このsubmit_add_type
クラスでは他にもオブジェクトが存在する可能性があり、特定のものだけを削除したいと考えています。
あなたは '[...]'を省略したコードを共有してください。簡単なスニペットが機能するので、それは関係があると思われます。 http://jsfiddle.net/GQ9Z7/1 –
あなたがしようとしていることに何も問題はありません。おそらくコードが実行されないような構文上のエラーやその他のエラーがありますか? – Jon
うまくいくはずです。ここでは謎です:http://jsfiddle.net/BMjrq/あなたの関数内の他のコードは実行されますか? – Interrobang