0

我正在使用 jQuery.get() 函数来返回从嵌入式 Web 服务器返回的数据。数据以这种格式 ( <Nb_var00>) 以变量形式返回。信息被放置在一个表中。

这是我的 get() 函数:

$.get("table_test_v00.html",function(data,textStatus, jqXHR)
  {
   var time=$(data).filter("#variable2").text();
   var temperature=$(data).filter("#variable1").text();
   $('td#variable1').text(temperature);
   $('td#variable2').text(time);
 })

问题:

如果我使用 IE 的调试工具并在 $('td#variable') 处放置一个断点,我会看到 time = "",而不是实际时间。如果我查看返回数据,这就是它所具有的:

<!DOCTYPE html><html lang=\"en\"><head><meta charset=\"utf-8\"><meta http-equiv=\"Pragma\"content=\"no-cache\"><meta http-equiv=\"Expires\"content=\"-1\"><title>table_test</title><script src=\"http://code.jquery.com/jquery-1.10.2.js\"></script><script src=\"Ajax.js\"></script></head><body><table border=\"1\"><tr><td id=\"variable2\">13:47:54</td></tr></table></p></body></html>

可以看出,时间应该是:13:47:54,而不是“”,有人能看到是怎么回事吗?

顺便说一句,如果我从放置信息从表格切换<td><p>信息显示正确。

4

2 回答 2

0

尝试使用“查找”而不是“过滤器”。

于 2013-09-12T20:07:15.033 回答
0

filter在查找与选择器匹配的元素时不遍历。

对于这种情况,我更喜欢上下文选择器:

var time = $('#variable2', data).text();
于 2013-09-12T20:09:08.023 回答