Javascript 使用jquery在链接周围添加div
我在点击按钮的链接周围添加了一个div。但当我多次单击按钮时,它会添加多个divJavascript 使用jquery在链接周围添加div,javascript,jquery,html,Javascript,Jquery,Html,我在点击按钮的链接周围添加了一个div。但当我多次单击按钮时,它会添加多个div <li> <label> </label> <div class="deletebutton"> <label> </label> <div class="deletebutton"> <label> </label>
<li>
<label> </label>
<div class="deletebutton">
<label> </label>
<div class="deletebutton">
<label> </label>
<div class="deletebutton">
<input type="button" id="ctl00_ContentPlaceHolder1_ctrlAddPhotos_RadUpload1remove1" value="Remove" class="ruButton ruRemove" name="RemoveRow">
</div>
</div>
</li>
如何确保它首先检查链接周围是否有div,然后添加
我正在使用以下代码:
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>");
}
应该是这样的:
<li>
<label> </label>
<div class="deletebutton">
<input type="button" id="ctl00_ContentPlaceHolder1_ctrlAddPhotos_RadUpload1remove1" value="Remove" class="ruButton ruRemove" name="RemoveRow">
</div>
</li>
当我点击按钮。单击html之前,请执行以下操作:
<li>
<input type="button" id="ctl00_ContentPlaceHolder1_ctrlAddPhotos_RadUpload1remove1" value="Remove" class="ruButton ruRemove" name="RemoveRow">
</li>
下面是一个如图所示的解决方案 代码故事是 HTML JavaScript
代码所做的是为按钮单击注册回调。单击时,我们询问被单击按钮的父节点,并询问父节点是否具有标记名DIV,这意味着它是一个。如果它不是一个div,那么我们将按钮包装成一个div并结束。在下一次调用中,父级是div的检测结果将为true,并且不会添加新的div。为什么不使用一个只在第一次单击时执行所需操作的函数呢 因此,只有在第一次单击该按钮时才会添加div,如果您在其他时间单击该按钮,它将不会做任何事情。这样就不会添加多个div 为此,您可以使用jQuery:
<script type="text/javascript">
$("#firstclick").one("click",function() {
alert("This will be displayed only once.");
});
</script>
您甚至可以查看jQuery API文档中的一个:
我不太清楚你在找什么。能否在HTML片段前后显示以描述所需效果?@Kolban,请检查更新的问题。
$(function() {
$("#myButton").click(function() {
if ($(this).parent().get(0).tagName !== "DIV") {
$(this).wrap("<div class='myDiv'>");
}
});
});
<script type="text/javascript">
$("#firstclick").one("click",function() {
alert("This will be displayed only once.");
});
</script>