![](/img/trans.png)
[英]Finding a cell with a specific value and applying a class to a cell in the same row
[英]Finding a row with a cell with a specific value
我必須標記表中的所有行(然后更改代碼以刪除行)。
表結構如下:
<table class="table table-striped table-condensed" id="buckettable">
<thead>
...cut out
</thead>
<tbody>
<tr class="success">
<td><input class="fld-bucketno" type="checkbox" name="bucket" value="158bf61f-8f66-4dee-9ff6-b9d1f6d4b840" /></td>
<td class="text-right">
<a class="bucketNo" href="/Sim/Staging/1212">1212</a>
</td>
我感興趣的是td中錨點的值-第二行。
我得到要刪除的ID的JSON列表。 首先,我標記它們,然后更改代碼以將其刪除。 至少是這樣。 注意我-我知道很多編程知識,但是Java語言對我來說是未知之地;)
到目前為止,我的代碼是:
success: function (resp) {
var table = $('#buckettable').find('tbody')[0];
var length = resp.length;
for (var i = 0; i < length; i++) {
var bucketNo = resp[i];
var rows = table.children.length;
for (var j = 0; j < rows; j++) {
var row = table.children[j];
var bucket = row.find('.bucketNo').text();
if (bucket == bucketNo) {
alert(bucket);
}
}
}
$('#cleanup').modal('hide');
而且我無法過濾行。 我願意接受任何其他明智的方法-希望它能教給我很多東西。
在上面的代碼中,我設法獲得了該行...但是find('。bucketNo')失敗,並拋出一個異常,即對象#沒有找到方法...。我覺得很有趣,因為我在較早的表單上使用了該方法。 指向文檔的指針非常歡迎,尤其是除了答案之外。
如果有更好的方法可以告訴我。 有人告訴我,按ID進行搜索的速度更快(很明顯),但是不知為何-我應該在每行上設置一個編碼ID(bucket-xxx,xxx是數字)嗎?
有一種更簡單的方法。
var targetBucketNo = 1212;
$('#buckettable a.bucketNo')
.filter(function(item) {
return item.text() == targetBuvketNo;
})
.parent()
.remove();
詳細解釋。 以下代碼將獲取#buckettable表中具有bucketNo類的錨點。
$('#buckettable a.bucketNo')
篩選器將篩選具有目標存儲桶編號的結果
.filter(function(item) {
return item.text() == targetBuvketNo;
})
刪除將刪除元素
.remove();
如果要添加類,可以將.remove()
替換為.addClass('your-class-name')
。 這會將其添加到td
元素中,因此您應該在addClass
之前添加.parent()
。
您正在訪問本機Javascript children
,因此find()
不是函數。 但是,您可以通過使用jQuery過濾器方法跳過許多正在使用的本機函數:
var $aTag = $('#buckettable').find('tbody td a.bucketNo').filter(function() {
return $(this).text() == bucketNo
});
alert($aTag.text());
您還可以使用“ bucketNo”類循環所有鏈接,然后查看ID是否在您的數組中。 之后,獲取包含的TR並將其刪除或添加一個類或其他內容:
var resp = [2323,5656]
$('a.bucketNo').each(function() {
if( resp.indexOf( parseInt($(this).text()) ) != -1 )
$(this).closest('tr').addClass('del');
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.