1

我在定位一些没有类的 div 时遇到了一点问题,这些 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但这个也影响了第二个 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 回答