Javascript 如何检查jquery元素是否是'del'标记?
我在段落旁边有一个HTML复选框。当用户选中该复选框时,我想使用 为了增加删除,我应该用Javascript 如何检查jquery元素是否是'del'标记?,javascript,jquery,css,Javascript,Jquery,Css,我在段落旁边有一个HTML复选框。当用户选中该复选框时,我想使用 为了增加删除,我应该用标记将段落包装起来 选中该框后,我能够用正确地包装该段落。但是,当用户取消选中该框时,我无法删除标记 我的代码似乎无法检查元素是否为del 我创造了一个小提琴手来告诉你发生了什么 在fiddler中,您将看到代码if(display.is('del')){..}失败,因此if语句中的代码永远不会被激发 我试图将html代码打印到控制台,以确保处理的是正确的元素,并且它清楚地显示了正确的代码 如何从del标记中
标记将段落包装起来
选中该框后,我能够用
正确地包装该段落。但是,当用户取消选中该框时,我无法删除
标记
我的代码似乎无法检查元素是否为del
我创造了一个小提琴手来告诉你发生了什么
在fiddler中,您将看到代码if(display.is('del')){..}
失败,因此if语句中的代码永远不会被激发
我试图将html代码打印到控制台,以确保处理的是正确的元素,并且它清楚地显示了正确的代码
如何从del
标记中打开我的段落
这是我的JS代码
$(function(){
$('.custom_delete_file:checkbox').click(function(e){
var self = $(this);
var display = self.closest('.input-width-input').find('.custom_delete_file_name > p');
if (self.is(':checked')) {
display.wrapInner('<del></del>');
} else {
var firstDisplay = display.parent().children().first();
console.log(firstDisplay.html())
if (display.is('del')) { // this is failing
firstDisplay.unwrap();
}
}
});
});
名称
笔记
图画
浏览
删除
上载/zCmPgC5yMor77DaM50nTTnSnxh4y75e7B06WUFFM.jpeg
也许是这样的
var del = display.children().first();
console.log(del)
if (del.is('del')) {
del.contents().unwrap();
}
del
is元素应该是display
的第一个子元素。我使用了console.log(del)
,因为使用html()
可以有效地为您提供innerHTML
,这并没有特别的帮助
在您的原始代码中,display
是您的p
元素,此行只是“上一行,下一行”,最后返回到p
:
var firstDisplay = display.parent().children().first();
这就是你答案的答案
$(function(){
$('.custom_delete_file:checkbox').click(function(e){
var self = $(this);
var display = self.closest('.input-width-input').find('.custom_delete_file_name > p');
if (self.is(':checked')) {
display.wrapInner('<del></del>');
} else {
$(".custom_delete_file_name:eq(0) p").html($(".custom_delete_file_name:eq(0) p del").html());
}
});
});
并切换它。
这是最好的方法。另一种方法。。。在展开之前,只需用del中的内容再次覆盖p
$('.custom_delete_file:checkbox').click(function(e){
var self = $(this);
var display = self.closest('.input-width-input').find('.custom_delete_file_name > p');
if (self.is(':checked')) {
display.wrapInner('<del></del>');
}
else {
display.html(display.find('del').text());
}
});
$('.custom_delete_file:checkbox')。单击(函数(e){
var self=$(这是);
var display=self.closest('.input width input')。find('.custom_delete_file_name>p');
if(self.is(':checked')){
display.wrapInner(“”);
}
否则{
html(display.find('del').text());
}
});
我希望有帮助
$('.custom_delete_file:checkbox').click(function(e){
var self = $(this);
var display = self.closest('.input-width-input').find('.custom_delete_file_name > p');
if (self.is(':checked')) {
display.wrapInner('<del></del>');
}
else {
display.html(display.find('del').text());
}
});