replaceWith不替换?

我正在创建一个评级小部件,其想法是当用户点击评分时,他评分并且评级星被替换为投票数。 这是我的HTML

Quality

50 Votes

有四个评级类别(质量,内容,唯一性,整体) ,它们的html与上面的相同。 所以我正在使用这样的replaceWith方法

 $(document).ready(function() { $("li a.one-star").click(function(event){ $( this ).replaceWith( $( "span.votes" ) ); }); }); 

1. replaceWith方法不替换。 它只是将评分数置于评级星之上。

2.由于还有3个以上的html代码块(质量,内容,唯一性和整体)并且它们都是相同的,我如何告诉javascript有所作为(当用户点击旁边的评级星)时质量,所以他可以评价(他率),他得到质量的投票数等等其他类别)。

 $(document).ready(function(){ $("ul.star-rating li a").click(function(event){ event.preventDefault(); var el = $(this), ul = el.closest("ul"); el.hide(); ul.children().not(":first").hide(); ul.children().filter(":first").append(ul.siblings("span.votes")); }); });