我有一个javascript函数,它选择几个元素,然后执行一些DOM操作.当DOM操作涉及添加更多与初始选择器匹配的元素时,我想重新应用它们以包含新元素.
var row1 = table.find("tr.row1 td");
var row2 = table.find("tr.row2 td");
var row3 = table.find("tr.row3 td");
for(...) {
if() {//Some condition is met
table.children().each(function(row) {
row.append(row.children().eq(5).clone());
});
row1.refresh(); // I'd like something here like refresh, rather than row1 = table.find("tr.row1 td");
}
//Code that uses row1, row2, and row3
}
Run Code Online (Sandbox Code Playgroud)
是否有一个功能可以完成我正在寻找的refresh()线路?
实际上没有一个函数可以执行您所描述的内容,只需重新发出原始请求即可.
如果你有一个jQuery对象(比如你的row1),你可以使用这个未记录的机制来重新运行原始请求:
row1 = $(row1.selector, row1.context);
Run Code Online (Sandbox Code Playgroud)
......但同样,该selector属性没有记录(context记录在案),所以虽然它现在在1.7.1中工作,但它在1.7.2中可能不起作用.
一个更好的方法可能是只保留行的jQuery对象,只要你实际上正在使用它,但它取决于重新获取列表的成本以及你这样做的频率.
| 归档时间: |
|
| 查看次数: |
1009 次 |
| 最近记录: |