答案 0 :(得分:3)
提取行中最后一个单元格的.text()
并测试它:
$('#table tr').find('td:gt(0):lt(5)').on("click", function() {
if ($(this).closest('tr').find('td:eq(5)').text() != "true") {
alert("hello");
}
});
http://jsfiddle.net/mblase75/mEbUG/2/
或者,在调用.filter
之前,您可以.on("click")
出不需要的单元格:
$('#table tr').find('td:gt(0):lt(5)').filter(function() {
return ($(this).closest('tr').find('td:eq(5)').text() != "true");
}).on('click', function() {
alert("hello");
});
答案 1 :(得分:2)
如果我理解正确的话。您只想要没有“真”单元格的行可点击吗?或者您希望每个单元格都可以单击,而不是具有“true”的单元格?
这是一个示例,只有在没有单词“true”的单元格中才能使行可单击:
var hasTrueCell = function(cells) {
for (var x = 0; x < cells.length; x++) {
if (cells[x].innerHTML == "true")
return true;
}
return false;
}
var table = document.getElementById("table");
var rows = table.getElementsByTagName("TR");
for (var x = 0; x < rows.length; x++) {
if (!hasTrueCell(rows[x].childNodes))
rows[x].onclick = function() {
alert("hello");
}
}
答案 2 :(得分:1)
已编辑(评论后)
现在,这应该可行。
$('#table tr').filter(function() {
return $(this).find('td:contains("true")').length === 0;
}).click(function() {
alert("hello");
});
答案 3 :(得分:0)
$('#table tr').find('td:gt(0):lt(5)').click(function(){if($(this).text()!="true")alert(1)})