jQuery如何选择子级第一级div

时间:2013-03-25 09:55:57

标签: jquery css target

我有一些针对某些没有类的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文件

2 个答案:

答案 0 :(得分: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');

fiddle

中的简单示例 评论后

更新

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

答案 1 :(得分:0)

在我看来,你应该更依赖自己设定的课程,而不是html属性。

如果您确定自己的标记,请尝试$('table.blog>tbody>tr>td>div')。 但是,如果我是你,我会在目标项目附近添加一个类,以便编写一个更简单的选择器...这样可以使维护更加灵活。