Javascript 如何使用jQuery确定某个html表头是否存在?
假设我有下表:Javascript 如何使用jQuery确定某个html表头是否存在?,javascript,jquery,html-table,Javascript,Jquery,Html Table,假设我有下表: <table id="mytable"> <thead> <tr> <th>Col 1</th> <th>Col 2</th> <th>Col 4</th> </tr> </thead> <tbody> <td>1</td> <td>2</td>
<table id="mytable">
<thead>
<tr>
<th>Col 1</th>
<th>Col 2</th>
<th>Col 4</th>
</tr>
</thead>
<tbody>
<td>1</td>
<td>2</td>
<td>3</td>
</tbody>
使用
console.log($('#mytable th:contains(Col 1')).length);
log($('#mytable th:contains(Col 50')).length)代码>
第1列
第2列
第4列
1.
2.
3.
您可以使用:contains
选择器,但它不使用精确的匹配标准,即,如果您将列1
传递给选择器,并且其中一个元素具有列12
文本内容,则它将选择该元素,因为它包含指定的文本。我会使用过滤器方法:
var hasColumn = $('#mytable thead th').filter(function() {
return this.textContent === 'Col 1';
}).length > 0;
下面是一个普通的JavaScript替代方案:
function hasColumn(tblSel, content) {
var ths = document.querySelectorAll(tblSel + ' th');
return Array.prototype.some.call(ths, function(el) {
return el.textContent === content;
});
};
var hasCol = hasColumn('#mytable', 'Col 1');
var hasColumn = $('#mytable thead th').filter(function() {
return this.textContent === 'Col 1';
}).length > 0;
function hasColumn(tblSel, content) {
var ths = document.querySelectorAll(tblSel + ' th');
return Array.prototype.some.call(ths, function(el) {
return el.textContent === content;
});
};
var hasCol = hasColumn('#mytable', 'Col 1');