[英]How to get text of link that inside td in HTML Table using JavaScript?
我的表中有以下行结构:
<tr class="mattersRow">
<td></td>
<td colspan="16">
<div class="dropdown">
<a href="#" data-toggle="dropdown">Choose QB</a>
<ul class="dropdown-menu" aria-labelledby="dLabel" role="menu"> … </ul>
</div>
</td>
</tr>
注意:我使用bootstrap库
我需要将每个<td>
设置为“”(空)或“选择QB”class ='danger'。
这是我的jQuery代码:
$("#tblMatters .mattersRow td").each(function () {
if ($(this).html() == "" || $(this).innerHTML == "Choose QB")
{
$(this).addClass("danger");
flag = true;
}
});
当然, $(this).html() == ""
效果很好,但是如何使用Choose QB将<td>
danger>类设置为<td>
addClass
接受一个函数作为参数,并且在该函数中,您可以访问当前迭代的td
元素,并可以检查它包含的内容:
$("#tblMatters .mattersRow td").addClass(function() {
var txt = $.trim( $('a', this).text() );
return txt.length === 0 || txt == 'Choose QB' ? 'danger' : '';
});
如果您只是想检查锚点内的文本,那么您应该在问题中指明?
您可以使用:contains()
doc和:empty
doc selectors:
$('#tblMatters .mattersRow')
.find('td:contains(\'Choose QB\'),td:empty')
.addClass('danger');
这是一个演示: http : //jsfiddle.net/wared/a84CW/ 。
$(this).closest('td').addClass("danger");
$("#tblMatters .mattersRow td").filter(function () {
var txt = $.trim($(this).text());
return txt.length === 0 || txt === 'Choose QB';
}).addClass("danger");
或检查锚标记的文本
$("#tblMatters .mattersRow td a").filter(function () {
var txt = $.trim($(this).text());
return txt.length === 0 || txt === 'Choose QB';
}).closest('td').addClass("danger");
$("#tblMatters .mattersRow td a").filter(function () { var txt = $.trim($(this).text()); return $(this).closest('td').text().length === 0 || txt === 'Choose QB'; }).closest('td').addClass("danger");
使用$(this).text().trim() === 'Choose QB'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.