JQuery发现不适用于tr元素?

时间:2011-01-26 18:55:42

标签: javascript jquery

只是想知道是否有人知道为什么下面的代码不起作用(每个()根本没有执行)...如果我尝试td元素而不是tr元素出于某种原因它会起作用吗?

html由php脚本返回,看起来像

<tr class="my_files_row"><td>bla</td><td>bla</td></tr>


function update(html)
{
    $(html).find('tr').each(function()
    {
        alert('success');
    })
}

提前致谢!

3 个答案:

答案 0 :(得分:3)

我认为你的php应该在其他元素(也许是一个表)中返回tr。正如JQuery文档所述,查找元素“后代”的搜索,而tr不是html中tr的后代。您可以将响应更改为:

<table> <tr class="my_files_row"><td>bla</td><td>bla</td></tr> </table>

这应该有用。

答案 1 :(得分:2)

查找仅查找后代。在你的情况下,tr是根。

答案 2 :(得分:0)

如果您对所有TR元素感兴趣而不是对特定table / tbody / thead / tfoot元素感兴趣,那么请问正确的问题(并且不要比您需要的更复杂)。这样:

$('tr').each(function(){
  var tr = $(this) ;
  ...
}) ;

应该做你。如果你需要更具体的表,你只需要优化你的选择器:

$('table#mySpecialTable tbody tr')

上面的内容为您提供了表格中mySpecialTable的所有元素。