Tôi đang làm việc với plugin Xác thực jQuery và tôi đã viết đoạn mã sau để thêm lớp vào phụ huynh (<input>
) của phần tử (nếu không hợp lệ, cũng như chèn phần tử lỗi thực tế (<span>
) trước <br>
.Plugin Xác thực jQuery: thêm/xóa lớp vào/khỏi vùng chứa lỗi của phần tử
HTML ...
<label>
text<br><input>
</label>
... và jQuery.
$("#form_to_validate").validate({
rules: {
...
},
errorElement: "span",
errorPlacement: function(error, element) {
element.parent().addClass('error');
error.insertBefore(element.parent().children("br"));
}
});
Vì vậy, nếu một yếu tố hình thức không xác nhận, nó biến thành:
<label class="error">
text<span>error text</span><br><input>
</label>
này hoạt động tuyệt vời, tuy nhiên, nếu nội dung của một trường được điều chỉnh và có hiệu lực, các lớp rõ ràng doesn' t được lấy ra từ cha mẹ của nó (thực sự, không phải là yếu tố lỗi, thay vào đó nó chỉ nhận được một tài sản CSS display: none;
). Làm thế nào tôi có thể kiểm tra xem một phần tử có hợp lệ không và loại bỏ lớp cha của nó nếu vậy?
Bất kỳ trợ giúp nào sẽ được đánh giá rất nhiều!
Đã chỉnh sửa: Đã thêm thông tin.
bạn đã lưu thời gian của tôi: P Cảm ơn – researcher