我正在寻找一些jQuery脚本的帮助,该脚本将在屏幕上输出结果时运行。
在运行输出循环时,我需要jQuery查看所有行以查看是否已存在具有类似ID的行,如果存在,那么我需要它删除刚刚输出的具有重复的当前行标识。
我正在通过从我的db调用中传入一个唯一值并将其添加到“row_”来构建我的tr“id”。所以最终会产生一个像“row_6373”(6373是唯一值)的id。
<table>
[while loop]
// jQuery script is currently right here...
<tr id="row_6373"><td></td></tr>
<tr id="row_988732"><td></td></tr>
<tr id="row_6435"><td></td></tr>
<tr id="row_6373"><td></td></tr> Row that was just output
[/while loop]
</table>
当循环运行时,我需要jQuery检查是否存在行id“row_6373”,如果存在,我需要它来删除row_6373的最后一个实例。这可能在输出循环中发生几次。 “row_6373”可能会被检查一千次。
现在我正在这样做:我在循环开始时运行它以查看行ID是否已经存在,但它正在删除所有内容。
<script>
$(function(){
if($("#action_row_" + {{ action.product.id }}).length){
$("#action_row_" + {{ action.product.id }}).remove();
}
})
</script>
感谢您的帮助!
答案 0 :(得分:0)
您只是在测试是否未定义长度。然后,您将删除与该选择器匹配的所有元素。你想要这个:
$(function(){
if($("#action_row_" + {{ action.product.id }}).length > 1){
$("#action_row_" + {{ action.product.id }}).last().remove();
}
})
编辑:如果你有重复项,也应该使用类而不是id:#action_row_应该是.action_row_