Javascript 仅在使用jquery进行检查后才在div之前添加元素
我在按钮上的div之前添加标签,如下所示:Javascript 仅在使用jquery进行检查后才在div之前添加元素,javascript,jquery,html,Javascript,Jquery,Html,我在按钮上的div之前添加标签,如下所示: $(".deletebutton").before("<label></label>"); 请建议 [更新]有更好的解决方案吗? 这对我有用 if ($(".deletebutton").prev().get(0).tagName != 'LABEL') { $(".deletebutton").before("<label></label>"); } else { $(".delete
$(".deletebutton").before("<label></label>");
请建议
[更新]有更好的解决方案吗?
这对我有用
if ($(".deletebutton").prev().get(0).tagName != 'LABEL') {
$(".deletebutton").before("<label></label>");
} else {
$(".deletebutton").prev().remove();
$(".deletebutton").before("<label></label>");
}
if($(“.deletebutton”).prev().get(0).tagName!=“LABEL”){
$(“.deletebutton”)。在(“”)之前;
}否则{
$(“.deletebutton”).prev().remove();
$(“.deletebutton”)。在(“”)之前;
}
如果我们想查看家长:
@silentw如果每次都添加一个div怎么办。deletebutton
我使用了以下代码,但它不起作用:
var parentTag = $(".ruRemove").parent().get(0).tagName;
if (parentTag == 'LI') {
$(".ruRemove").wrap("<div class='data deletebutton'></div>");
$(".deletebutton").before("<label></label>");
} else {
var par = $('.deletebutton').parent();
if (par.is('div')) par.remove();
$(".ruRemove").wrap("<div class='data deletebutton'></div>");
var prev = $('.deletebutton').prev();
if (prev.is('label')) prev.remove();
$('.deletebutton').before("<label></label>");
}
<label> </label>
<div class="deletebutton">
<label> </label>
<div class="deletebutton">
<label> </label>
<div class="deletebutton">
</div>
</div>
</div>
var parentTag=$(“.ruRemove”).parent().get(0).tagName;
如果(parentTag='LI'){
$(“.ruRemove”).wrap(“”);
$(“.deletebutton”)。在(“”)之前;
}否则{
var PAR=$('.DeleTouButt).PARTUNTY();
如果(PAR是(‘DIV’))PAR。
$(“.ruRemove”).wrap(“”);
var prev=$('.deletebutton').prev();
如果(prev.is('label'))prev.remove();
$('.deletebutton')。在(“”)之前;
}
$(“.deletebutton”)。在('click',function()上{
如果(!$(this).prev()是('label'))$(this).before('A');
});
更新
$(.deletebutton”)。在('click',function()上{
var prev=$(this.prev();
如果(prev.is('label'))prev.remove();
$(此)。之前(“此为标签”);
});
$(.deletebutton”)。在('click',function()上{
如果(!$(this).prev()是('label'))$(this).before('A');
});
更新
$(.deletebutton”)。在('click',function()上{
var prev=$(this.prev();
如果(prev.is('label'))prev.remove();
$(此)。之前(“此为标签”);
});
你知道你可以直接在stackoverflow中构建演示吗?学习使用snipplet按钮。@epascarello不知道该功能,谢谢你提供的信息@DotnetSparrow如果没有prev()元素,更新的代码将失败。享受that@silentw编辑时,if中的逻辑是错误的。它将永远是真实的,并且正在做相反的事情。not()应该是is()@epascarello谢谢你的提醒,我把问题解释错了。现在修好了!你知道你可以直接在stackoverflow中创建演示吗?学习使用snipplet按钮。@epascarello不知道这个功能,谢谢你提供的信息@DotnetSparrow如果没有prev()元素,更新的代码将失败。享受that@silentw编辑时,if中的逻辑是错误的。它将永远是真实的,并且正在做相反的事情。not()应该是is()@epascarello谢谢你的提醒,我把问题解释错了。现在修好了!
var parentTag = $(".ruRemove").parent().get(0).tagName;
if (parentTag == 'LI') {
$(".ruRemove").wrap("<div class='data deletebutton'></div>");
$(".deletebutton").before("<label></label>");
} else {
var par = $('.deletebutton').parent();
if (par.is('div')) par.remove();
$(".ruRemove").wrap("<div class='data deletebutton'></div>");
var prev = $('.deletebutton').prev();
if (prev.is('label')) prev.remove();
$('.deletebutton').before("<label></label>");
}
<label> </label>
<div class="deletebutton">
<label> </label>
<div class="deletebutton">
<label> </label>
<div class="deletebutton">
</div>
</div>
</div>
$(".deletebutton").on('click', function() {
if(!$(this).prev().is('label')) $(this).before("<label>A</label>");
});
$(".deletebutton").on('click', function() {
var prev = $(this).prev();
if(prev.is('label')) prev.remove();
$(this).before("<label>This is a label</label>");
});