Jquery向div添加一个没有类名的类

时间:2011-08-12 00:24:37

标签: jquery css jquery-selectors

我有以下标记:

<body id="terms_and_conditions_page" dir="ltr">
 <div class="main-wrapper"></div> <---------*  Edit
 <div> <-------*
     <div class="page_banner describes_page_content body-bg"></div>
     <div class="content-bg"></div>
 </div>
</body>

我正在尝试将一个类(tc-content)添加到没有类名的div中,因此标记将如下所示:

<body id="terms_and_conditions_page" dir="ltr">
 <div class="main-wrapper">
 <div class="tc-content"> <-------*
     <div class="page_banner describes_page_content body-bg"></div>
     <div class="content-bg"></div>
 </div>
</body> 

我试过$('#terms_and_conditions_page:nth-child(2)').addClass('tc-content'); 但它为这个空div的每个孩子添加了一个类。 有一个简单的方法吗?

编辑:抱歉,我从firebug复制了它,所以它跳过了结束div。见编辑

8 个答案:

答案 0 :(得分:2)

有很多:

 1. #terms_and_conditions_page>*:nth-child(2)
 2. $('.main-wrapper').next()
 3. $('.page_banner').parent()

答案 1 :(得分:1)

试试这个:

$('.main-wrapper').next().addClass('tc-content');

答案 2 :(得分:1)

使用:not

这里是小提琴http://jsfiddle.net/r89Sa/1/

答案 3 :(得分:0)

这只是一个div吗?为它分配一个id,然后你可以通过id获取元素并将类添加到它。

答案 4 :(得分:0)

$('#terms_and_conditions_page > div > div:first').addClass('tc-content');

您要选择的div是body标记的子级的子级,而不是body标记的直接子级。使用确切的标记你不需要我放在选择器中的':first',因为该层中只有一个div。

...这意味着您的标记中有一个未关闭的div标记:

<body id="terms_and_conditions_page" dir="ltr">
 <div class="main-wrapper">
 <div> <-------*
     <div class="page_banner describes_page_content body-bg"></div>
     <div class="content-bg"></div>
 </div>
</body>

应该是:

<body id="terms_and_conditions_page" dir="ltr">
 <div class="main-wrapper">
  <div> <-------*
     <div class="page_banner describes_page_content body-bg"></div>
     <div class="content-bg"></div>
  </div>
 </div>
</body>

答案 5 :(得分:0)

$("#terms_and_conditions_page div:not([class])").attr("class","tc-content")

会工作

答案 6 :(得分:0)

似乎.main-wrapper应该是父div?尝试:

$(".main-wrapper > div").eq(0).addClass("tc-content");

答案 7 :(得分:0)

试试这个

$("div.page_banner").parent().addClass("tc-content");