1

テーブル構造にあるクラスのない一部のdivをターゲットにすることに少し問題があります。

<table class="blog" cellspacing="0" cellpadding="0">
  <tbody>
    <tr>
      <td valign="top">
        <div>               <--- I want to target this
          <table class="some_table_class">
            <tbody>
              <tr>
                <td class="someclass" valign="top">
                   <div>This div should stay untouched, and every of his potential div children</div>
                </td>
              </tr>
            </tbody>
          </table>
        </div>
        <div></div>      <--- I want to target this
        <div></div>      <--- I want to target this
        <div></div>      <--- I want to target this
         .
         .
         .
      </td>
    </tr>
  </tbody>
</table>

私はCSSだけでそれをやろうとしました.blog td[valign="top"]>divが、これは2番目のdivにも影響を及ぼしています+IEは[valign="top"]が何であるかを理解していないようです

だから私はjQueryでそれらのdivにいくつかのクラスを追加したい

それを行うための効果的な方法はありますか?

.blog>tbody>tr>td>div...少し奇妙で使いにくいと思います

アイデアありがとうございます

忘れました..jqueryだけでhtml構造を編集できます。.php/.htmlファイルにアクセスできません。

4

2 に答える 2

2

これを試して

 $('td[valign="top"]').find("div") // this will find all the divs

更新しました

クラスセレクターを使用してすべてのdivに名前を付け、クラスセレクターを使用してそれを取得します。

または、それnot()を除外するために使用できますが、除外する必要があるIDまたはクラスを指定する必要があります...

HTML

<div id="notthis">This div should stay untouched, and every    

Jquery

$('td[valign="top"]').find("div:not('#notthis')").addClass('test');

フィドルの簡単な例

コメント後に更新

$('td[valign="top"]').find("div:not('.someclass div')").addClass('test')
于 2013-03-25T09:59:18.817 に答える
0

私の意見では、html属性ではなく、自分で設定したクラスに依存する必要があります。

マークアップについて確信がある場合は、を試してください$('table.blog>tbody>tr>td>div')。ただし、私があなたの場合は、ターゲットアイテムに近いクラスを追加して、より単純なセレクターを作成します。これにより、保守がより柔軟になります。

于 2013-03-25T09:58:40.140 に答える