如何一次性添加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>
JQUERY:
$(".container").addClass("item");
答案 0 :(得分:0)
我相信你只是在寻找:
$(".container").children().addClass("item");
http://api.jquery.com/children/
如果您想将它应用于所有儿童而不仅仅是直接儿童,则必须以递归方式进行。
答案 1 :(得分:0)
这个代码什么时候运行。如果您在使用chrome控制台或firebug加载页面(DOM)后执行它,您应该看到更改。否则,您应该将它放在页面
上的脚本体中的Ready处理程序中$(document).ready(function() {
// Handler for .ready() called.
});
问题是JS经常在DOM加载之前触发,因此这个元素及其用作选择器的类不存在以进行查询。
答案 2 :(得分:0)
如果您希望将项目类添加到所有子项中,问题并不能说清楚。
如果是这种情况,这是一种方法。
$('.container').children().each(function(){
if($(this).has('li'))
$(this).children().addClass('item');
$(this).addClass('item');
});
这将把项目类添加到所有孩子,甚至是UL中的LI。 :)
请参阅this tinker