.load()只有源html根的子节点?

时间:2012-08-25 18:29:58

标签: jquery

在我的url我有一段包含在<tr>

内的html
<tr>
    <td>
        <a class="row_edit" href="/sales_item/edit/{{ item.id }}" title="{% trans 'Edit' %}"><i class="icon-pencil"> </i></a>
        <a href="/sales_item/delete/{{ item.id }}" title="{% trans 'Delete' %}"><i class="icon-trash"> </i></a>
    </td>
    <td>{{ item.item_description }}</td>                    
</tr>

在我的目标行中,当用户点击按钮时,我将上面的html加载到行中。

var row = $('tr');
row.load(
        url,        
        function () {                   
            $(".row_edit").click(row_edit);
        }
    );

然而问题是我在tr里面有一个tr:

<tr>
    <tr>
        <td>
            <a class="row_edit" href="/sales_item/edit/{{ item.id }}" title="{% trans 'Edit' %}"><i class="icon-pencil"> </i></a>
            <a href="/sales_item/delete/{{ item.id }}" title="{% trans 'Delete' %}"><i class="icon-trash"> </i></a>
        </td>
        <td>{{ item.item_description }}</td>                    
    </tr>
</tr>

我怎么能说在执行.load()时只是加载源代码的子代?

2 个答案:

答案 0 :(得分:1)

你可以试试这样的事情

row.load(
    url,        
    function () {    
        var data = $(this).find("tr").html();               
        $(this).html(data);
        $(".row_edit").click(row_edit);
    }
);

答案 1 :(得分:1)

var row = $('tr');
row.load(
        url + ' td',        
        function () {                   
            $(".row_edit").click(row_edit);
        }
    );

$('#result').load('ajax/test.html #container');// this is the page fragments selector for jQuery load