这是因为您破坏了绑定单击事件的元素。您可以通过使用.on处理事件来轻松修复它:
将第一行更改为:
$(document).on("click", 'button.change-rank', function() {
工作演示:http: //jsfiddle.net/SEQbd/2/
但这不是最好的方法。我会确保移动元素而不是一直破坏/创建元素。而不是使用.html()
and .html(someStrng)
,您可以使用.append( [jQuery Element/DOM Node] )
在此处查看演示:http: //jsfiddle.net/SEQbd/4/
您可以像这样简单地编写代码:http: //jsfiddle.net/3Wkfm/
$('button.change-rank').click(function() {
var direction = $(this).attr('data-direction'),
$original = $(this).closest("tr"),
$target = direction === "up" ? $original.prev() : $original.next();
if ( $target.length && direction === "up" ) {
$original.insertBefore($target);
}
else if( $target.length ) {
$original.insertAfter($target);
}
});
var a = condition ? c : d
和写法一样:
if ( condition ) {
var a = c;
}
else {
var a = d;
}