我想知道遍历此函数返回的数据的正确语法是什么:
$.get(url, function(data){
alert(data);
});
data.find(“table”)或类似内容不起作用。 返回的html数据看起来像这样,从django模板解析:
<div class="pagination">
<span class="step-links">
<span style="visibility:hidden;">previous</span>
<span class="current">
Page 1 of 2.
</span>
<a id="next" href="?page=2">next</a>
</span>
</div>
<form class="" id="action-selecter" action="" method="POST">
<div class="action_dropdown">
<label>Action: <select name="action">
<option value="" selected="selected">---------</option>
<option value="new_selection">Add to new selection</option>
<option value="delete_selected">Delete selected projects</option>
</select></label>
<button type="submit" class="button" title="Run the selected action" name="index" value="1">Go</button>
</div>
<div id="ajax_table_result">
<table cellspacing="5">
...
</thead>
<tbody>
...
</tbody>
</table>
</div>
</form>
答案 0 :(得分:8)
请记住将结果包装在jQuery包装器中以使用jQuery方法。
$.get("script.php", {foo:"bar"}, function(results){
var table = $("table", results);
/* from comments: how to get span.step-links */
var spans = $("span.step-links", results);
}, "html");
答案 1 :(得分:1)
我认为你想要的是
$(data).find("table");
data
是一个字符串,但$(data)
是一个DOM。请参阅http://docs.jquery.com/Core/jQuery#htmlownerDocument。
答案 2 :(得分:1)
data
变量只是一个包含html的字符串。我想如果你只是将它包装在$(data).find('table')
中,jquery会用html解析字符串并把它变成圆顶元素。
答案 3 :(得分:0)
$.get("url", function(data){
var table = $(data).find("table");
if ($(table).length>0)
alert("ok");
else
alert("error");
}, "html");