jquery遍历$ .get的结果(url,function(data){

时间:2010-01-09 21:18:01

标签: jquery

我想知道遍历此函数返回的数据的正确语法是什么:

$.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> 

4 个答案:

答案 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");