jquery字符串变量的每个函数

时间:2012-09-03 08:20:56

标签: javascript jquery

我在javascript中编写了一个函数,它接受<tr>调用ajax的title属性,然后在一些操作后从它们中检索一些title属性。我希望删除那些<tr>

,具体取决于该标题属性
function currentTicketStatus() {
    var ids = '';
    $('tbody tr[title]').each(function() {
        ids += ((ids == '') ? '' : ',') + $(this).attr('title');
    });
    $.ajax({
        url: 'ajaxExecute.aspx?Fn=CTS',
        type: 'POST',
        context: document.body,
        cache: false,
        data: 'Tickets=' + ids,
        success: function(response) {
            if (response != '') {
                if (response.substr(0, 5) != 'ERROR') {
                    var sTickets = response.split('|');

                    sTickets.each(function() {
                        $(this).parent().parent().remove();
                    });
                }
            }
        }
    });
}

示例:在ajax调用ids="100,101,102,103,104"之后ajax调用sTickets="101|102"时。现在删除具有sTickets属性的那些行

HTML(不完全)

<tbody>
<tr title="100"> some data part </tr>
<tr title="101"> some data part </tr>
<tr title="102"> some data part </tr>
<tr title="103"> some data part </tr>
</tbody>

2 个答案:

答案 0 :(得分:0)

在您的成功函数中尝试此代码:

 success: function(response) {
            if (response != '') {
                if (response.substr(0, 5) != 'ERROR') {
                    var sTickets = response.split('|');
                    $.each(function(i,v){ $('tr[title=' + v + ']')  }).remove();
                }
            }

说明:

1-属性选择DOM元素:

   $('[ATTRIBUTE=VALUE]') // $('[title="myTitle"]')

您可以在此链接中找到更多信息http://api.jquery.com/attribute-equals-selector/

2 - $ .ete迭代

可用于无缝迭代对象和数组。

更多:http://api.jquery.com/jquery.each/

答案 1 :(得分:0)

this中的each是“标题”(字符串),您需要DOM元素(<tr>)而不是

sTickets.each(function() {
  $('tbody tr[title="'+ this +'"]').remove();
});

demo