0

如何一次使用 jquery 添加子属性?我正在尝试如下代码,但不起作用。

CSS:

.item > ul
{
  margin:0px;
  padding:0px;
}
.item > span
{
  color:gray;
}
.item > span:hover
{
  color:blue;
}

HTML:

<div class="container">
   <span>Text</span>
   <ul>
      <li>Item 1</li>
      <li>Item 2</li>
   </ul>
</div>

查询:

$(".container").addClass("item");
4

3 回答 3

0

如果您希望将项目类添加到所有子项,这个问题并不清楚。

如果是这种情况,这是一种方法。

$('.container').children().each(function(){
    if($(this).has('li'))
       $(this).children().addClass('item');
    $(this).addClass('item');
});

这会将 item-class 添加到所有子项,甚至 UL 中的 LI。:)

看到这个修补匠

于 2012-05-14T08:56:20.540 回答
0

我相信你只是在寻找:

$(".container").children().addClass("item");

http://api.jquery.com/children/

如果您想将其应用于所有孩子而不仅仅是直系孩子,则必须递归地进行。

于 2012-05-14T08:48:30.653 回答
0

这段代码何时运行。如果您在使用 chrome 控制台或 firebug 加载页面 (DOM) 后执行它,您应该会看到更改。否则,您应该将其放置在页面上脚本正文中的 Ready 处理程序中

$(document).ready(function() {
  // Handler for .ready() called.
});

http://api.jquery.com/ready/

问题是 JS 经常在 DOM 加载之前触发,因此您用作选择器的这个元素及其类尚不存在可查询。

于 2012-05-14T08:51:19.370 回答