检测新tr或内容更改

时间:2014-01-12 20:21:07

标签: javascript jquery

我有一堆代表购物车的tr

<tr class="cart_row">
  <td>Product</td>
  <td>£20</td>
  <td>2</td>
</tr>
<tr class="cart_row">
  <td>Product 2</td>
  <td>£50</td> 
  <td>1</td>
</tr>

在添加项目时,会通过ajax更新。

我要做的是检测购物车何时更新,即新的<tr>cart_row或现有内容{{1} }已更新

我可以用jQuery做到吗?

由于

3 个答案:

答案 0 :(得分:0)

我会建议:

// a function to make a string out of thew data
function getData() {
    var data = $('tr.cart_row td').map(function (el) {
        return this.innerHTML;
    }).get().toString();
    return data;
}

//before the Ajax:
var valuesBefore = getData();

// do Ajax

//after the Ajax, ideally inside the callback (remeber ajax is async)
if (valuesBefore != getData()){ //do something };

Example

答案 1 :(得分:0)

你可以这样:

$("#yourTable").on("DOMSubtreeModified", function() {
    alert("table changed! row added");
});

请在此处查看浏览器支持:http://www.quirksmode.org/dom/events/#t18

编辑但是,它已被弃用

希望这会有所帮助。干杯

答案 2 :(得分:-1)

据我所知,此行动没有任何事件。您应该在setTimeout函数的帮助下实现它。设置一个函数,检查所需元素的count是否发生变化。