查找与json值匹配的标题

时间:2013-10-09 19:26:43

标签: jquery html json

我希望在表格中搜索902个td元素,并找到.row类,其title属性等于json对象值。

表格看起来像这样

<div id="site_relationship_id_tbdd">
    <table class="tbd-table">
       <tbody>
           <tr class="header">
             ...
           </tr>
           <tr class="row">
               <td title = "1"></td> // This value increments for each parent tr element.
               <td title="SomeTitle"></td>
               <td title="someJazz"></td>
           </tr>
           ... 901 more of these ....
       </tbody>
    </table>
</div>

我作为json值返回的是:

[{"site_id":"148"}] 

到目前为止我对jquery所拥有的是:$('#site_relationship_id_tbdd .tbdd-drop .row').find('td') 找到td内的所有tr元素非常有用。

我想要做的是找到一个td元素title="148",然后将.selected添加到父tr,所以它看起来像:{{1 }}

想法?

1 个答案:

答案 0 :(得分:0)

您也可以将其与属性结合使用。

$('#site_relationship_id_tbdd .tbdd-drop .row').find('td[title="148"]')
                                         .closest('tr')
                                         .addClass('selected');

如果阵列中有多个这样的siteid,那么你可以尝试:

var ids = [{"site_id":"1"}, {"site_id":"2"}, {"site_id":"148"}];
//create the selector
var selector = ids.map(function(o){
     return "td[title=" + o['site_id'] + "]";
}).join(',');

var $elem = $('#site_relationship_id_tbdd .tbd-table .row')
                       .find(selector)
                       .closest('tr')
                       .addClass('selected');