我有一个如下所示的表格,我正在尝试检查表格中是否存在视频ID
<div class="portlet-body">
<table class="mytable1 table table-bordered table-hover" id="videosfromtagstable">
<tbody class="connectedSortable ui-sortable">
<tr class="existingvideos">
<th>Name</th>
<th>Video</th>
</tr>
<tr video-id="6" class="newvideos" style="display: table-row;">
<td>One</td>
<td><a href="xxx" target="_blank">xxx.jpg</a></td>
</tr>
<tr video-id="48" class="newvideos">
<td>Two</td>
<td><a href="xxx" target="_blank">xxx.jpg</a></td>
</tr>
</tbody>
</table>
我正在检查它,这是有效的,但是如果这是正确有效的程序,请你告诉我吗?
var checkvalue = checkifVideoExists(48);
alert(checkvalue);
function checkifVideoExists(videoid) {
var flag = false;
$('#videosfromtagstable > tbody > tr').each(function() {
if ($(this).attr('video-id') == videoid) {
flag = true;
return false;
} else {
return true;
}
});
return flag;
}
答案 0 :(得分:2)
不需要循环和所有,你可以简单地使用属性选择器来查找元素并检查它的长度,如果它是0则不存在其他明智的元素。
SELECT * from @T
WHERE DATEDIFF(dd,GETDATE(),DATEADD(yy,79,dob))<45
AND
DATEDIFF(dd,GETDATE(),DATEADD(yy,79,dob))>0
详细了解属性选择器here
答案 1 :(得分:2)
这不是有效的方法。通过它的属性更好地选择元素:
function checkifVideoExists (videoid) {
return $('#videosfromtagstable [video-id="'+videoid+'"]').length > 0;
}
答案 2 :(得分:2)
首先video-id
不是有效属性,其使用会使您的HTML无效。相反,您应该使用data-*
属性来存储带元素的自定义元数据。
为了更有效地实现您的需求,您可以使用filter()
查找具有required属性的元素。试试这个:
var checkvalue = checkifVideoExists(48);
console.log(checkvalue);
function checkifVideoExists(videoid) {
var $tr = $('#videosfromtagstable > tbody > tr').filter(function() {
return $(this).data('video-id') == videoid;
});
return $tr.length != 0;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<div class="portlet-body">
<table class="mytable1 table table-bordered table-hover" id="videosfromtagstable">
<tbody class="connectedSortable ui-sortable">
<tr class="existingvideos">
<th>Name</th>
<th>Video</th>
</tr>
<tr data-video-id="6" class="newvideos" style="display: table-row;">
<td>One</td>
<td><a href="xxx" target="_blank">xxx.jpg</a>
</td>
</tr>
<tr data-video-id="48" class="newvideos">
<td>Two</td>
<td><a href="xxx" target="_blank">xxx.jpg</a>
</td>
</tr>
</tbody>
</table>
</div>
&#13;