-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 フィドルのデモ

classの代わりに名前を追加していることに注意してidください。あなたの質問は、その特定の条件に一致するページに複数の要素が存在する可能性があることを示唆しているためです。

これは明らかに表形式のデータではなくリストであるため、これには a を使用しないことをお勧めします。したがって、 a を使用するはるかに適切と思われます。tableul

<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');

クラス her を ID として使用することは、一意でなければなりません。

注: contains()は大文字と小文字が区別されます。

于 2013-03-08T15:56:28.447 に答える