1
我已经解决了我原来的问题(痛苦),但想知道如果有一个更好的解决方案的具体文本子元素的父元素(jQuery的必须有一个更好的方式来做到这一点)。我与嵌套表(的SharePoint)的工作,并试图选择其中一个子细胞中含有特定文本行。我已经做了一个简化的例子下面(也是在jsFiddle在这里:http://jsfiddle.net/tpZyn/6/)如何选择包含使用jQuery
在这个例子中,我试图添加类“红色行”的单元格行包含文本“(红色)”(请记住,我的最终目标是,选择所需的行...把他们的红色只是表明我选择他们)的方式,但所有的选择我已经试过落得选择不是更所需的行。最后我只能说做了什么,我需要做的过滤功能,但似乎有点尴尬。似乎应该有更好的方法。
<style>
.red-row {
background-color: #FF0000;
}
</style>
<script>
$(document).ready(function() {
//$('td:contains("(red)")').parent("tr:first").addClass('red-row');
//$('td>:contains("(red)")').parent().addClass('red-row');
$('td').filter(function(){var bob = $(this).text().indexOf("(red)"); return (bob > -1 && bob < 10);}).parent().addClass('red-row');
});
</script>
<table>
<tbody>
<tr>
<td colspan="2">
<h1>My Header</h1>
</td>
</tr>
<tr>
<table>
<tbody>
<tr>
<td>
<h2>Left Column</h2>
</td>
<td>
<h2>Right Column</h2>
</td>
</tr>
<tr>
<td>
<table>
<tbody>
<tr>
<td>(red) Apple</td>
<td>$3</td>
</tr>
<tr>
<td>(yellow) Banana</td>
<td>$2</td>
</tr>
<tr>
<td>(yellow) Lemon</td>
<td>$1</td>
</tr>
<tr>
<td>(red) Cherry</td>
<td>$2</td>
</tr>
<tr>
<td>(yellow) Quince</td>
<td>$3</td>
</tr>
<tr>
<td>(green) Apple</td>
<td>$4</td>
</tr>
</tbody>
</table>
</td>
<td>
<p>Some other content</p>
</td>
</tr>
</tbody>
</table>
</tr>
</tbody>
</table>
啊,谢谢你教我关于 “:有” 法。很好的解决方案。非常感谢你。 – JeffOnWire 2013-05-09 23:05:48