-2

我想将 id 应用于标题中具有特定字符串的表。该表没有任何 css 标签,如果不动态添加,我无法添加它们。这是我的桌子:

<div id="primary" class="page">
<div class="inside">
<table border="10">
<tr><th>You may search for materials using the following:</th></tr>

<tr><td align="center"><a href="#">NAME</a></td></tr>
<tr><td align="center"><a href="#">TITLE</a></td></tr>
<tr><td align="center"><a href="#">SUBJECT</a></td></tr>
<tr><td align="center"><a href="#">WORD</a></td></tr>
<tr><td align="center"><a href="#">ISBN</a></td></tr>
<tr><td align="center"><a href="#">ISSN</a></td></tr>
</table>

我想将#mytable 的ID 应用于在我尝试使用.addClass 的表头中包含字符串“您可以搜索材料”的任何表,但我感到困惑。我会很感激任何帮助,谢谢

4

2 回答 2

0

我建议:

$('table th:contains("You may search for materials using the following")')
    .closest('table').addClass('myTable');

JS 小提琴演示

请注意,我添加的是classname 而不是id,因为您的问题暗示页面上可能有多个元素与给定条件匹配。

我进一步建议不要为此使用 a table,因为它显然不是表格数据,而是一个列表,因此使用 aul似乎更合适:

<ul>
    <li class="header">You may search for materials using the following:</li>
    <li><a href="#">NAME</a></li>
    <li><a href="#">TITLE</a></li>
    <li><a href="#">SUBJECT</a></li>
    <li><a href="#">WORD</a></li>
    <li><a href="#">ISBN</a></li>
    <li><a href="#">ISSN</a></li>
</ul>

使用以下 CSS 来近似table演示文稿的外观:

ul {
    width: 50%;
    border: 10px groove #666;
    margin: 0;
    padding: 0;
}

li {
    padding: 0;
    margin: 0.2em;
    list-style-type: none;
    text-align: center;
    border: 1px solid #aaa;
}

li.header {
    font-weight: bold;
}

ul.myTable li.header {
    color: #f00;
}

并改编了 jQuery:

$('li.header:contains("You may search for materials using the following")')
    .closest('ul').addClass('myTable');

JS 小提琴演示

参考:

于 2013-03-08T15:56:03.160 回答
0

您可以像这样使用高级选择器:

$('th:contains("You may search for materials")').closest('table')
                                                .addClass('mytable');

使用她的类作为 ID 必须是唯一的。

注意: contains()区分大小写。

于 2013-03-08T15:56:28.447 回答