我在jquery中添加一个带有追加的按钮,我有两个问题
1-每次我悬停时都会不断添加此按钮。
2 - 当没有悬停按钮时仍然存在。
$('#user tbody tr td').hover(function() {
$(this).addClass('hover2').append('<button>add user</button>');
}, function() {
$(this).removeClass('hover2').remove('<button>add user</button>');
});
答案 0 :(得分:2)
使用mouseenter / mouseleave事件
$('#user tbody tr td').mouseenter(function() {
$(this).addClass('hover2').append('<button>add user</button>');
}).mouseleave(function() {
$(this).removeClass('hover2').find('button').remove();
});
演示:
$('#user tbody tr td').mouseenter(function() {
$(this).addClass('hover2').append('<button>add user</button>');
}).mouseleave(function() {
$(this).removeClass('hover2').find('button').remove();
});
&#13;
.hover2 {
color:red;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table id="user"><tbody><tr><td>mouse</td></tr></tbody></table>
&#13;
答案 1 :(得分:1)
您添加的内容与删除的内容不匹配。您应该以某种方式找到之前添加的元素并将其删除。
$('#user tbody tr td').hover(function() {
$(this).addClass('hover2').append('<button>add user</button>');
}, function() {
$(this).removeClass('hover2').find('button').remove();
});
答案 2 :(得分:0)
$('#user tbody tr td').hover(function() {
$(this).addClass('hover2').append('<button>add user</button>');
}, function() {
$(this).removeClass('hover2').find('button').remove();
});
使用<div>
元素