如何将所有单一后代结构的ul加上.red?
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript">
function select_uls(){
$.each($("ul"),function(i,n){
//将符合以下条件的所有ul全部加上红色.red;
//1.首先ul子代所有的tagName必须相等(如全部都是li)
//2.还需要ul子代所有的className必须相等(如全部都是test)
//3,(可免)如果很高手的话,附加检测ul的所有子元素是否含有相同的结构,如<li><a>hello</a></li>与<li>hello</li>
});
}
</script>
<style type="text/css">
.red{color:red;}
</style>
<div class="box">
<ul>
<li>hello</li>
<li>world</li>
<li>hi</li>
</ul>
<ul>
<li>hello</li>
<li>world</li>
<div>div</div>
</ul>
<ul>
<li class="test">hello</li>
<li>world</li>
<li>hi</li>
<li class="baba">hi</li>
</ul>
<ul>
<li class="test">hello</li>
<li class="test">hello</li>
<li class="test">world</li>
<li class="test">lady</li>
</ul>
<!-- 还有很多ul -->
......
</div>
<button onclick="select_uls()">color same structure ULs</button>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript">
function select_uls(){
$.each($("ul"),function(i,n){
//将符合以下条件的所有ul全部加上红色.red;
//1.首先ul子代所有的tagName必须相等(如全部都是li)
//2.还需要ul子代所有的className必须相等(如全部都是test)
//3,(可免)如果很高手的话,附加检测ul的所有子元素是否含有相同的结构,如<li><a>hello</a></li>与<li>hello</li>
});
}
</script>
<style type="text/css">
.red{color:red;}
</style>
<div class="box">
<ul>
<li>hello</li>
<li>world</li>
<li>hi</li>
</ul>
<ul>
<li>hello</li>
<li>world</li>
<div>div</div>
</ul>
<ul>
<li class="test">hello</li>
<li>world</li>
<li>hi</li>
<li class="baba">hi</li>
</ul>
<ul>
<li class="test">hello</li>
<li class="test">hello</li>
<li class="test">world</li>
<li class="test">lady</li>
</ul>
<!-- 还有很多ul -->
......
</div>
<button onclick="select_uls()">color same structure ULs</button>
解决方案 »
- img的alt标签内无法调整字体大小~~~紧急求助啊~~
- 100分请教判断上传图片是否存在
- JS树形目录与下拉菜单结合问题
- 【散分】分子有点多了,随便散一点吧--顺便发一个改造了的仿163的弹出框
- 求助,我想监控文本框的内容,发生改变的时候触发事件
- 请问在不知道表单内表格的ID情况下如何得到所有的表格(遍历全部的)?急,在线等,谢谢
- 用insertAdjacentHTML插入的元素怎么删除?
- 为什么调用window.scrollBy(0, 100)不起作用啊?
- 简单:右键菜单问题(急!在线等待!)
- 关于面向对象的请求帮助!希望可以得到提点,谢谢大家了!
- javascript
- JS有没有将数字转成二进制的方法?
return $(this).children().length==1;
}).addClass("red");
$("ul").filter(function(){
var obj=$(this).children()
return obj.length==$(this).find($(this).children().get(0).tagName).filter(return obj.get(0).className=$(this).get(0).className).length;
}).addClass("red");
var obj=$(this).children();
return obj.length==$(this).find($(this).children().get(0).tagName).filter(return obj.get(0).className=$(this).get(0).className;).length;
}).addClass("red");少了几个";"
改成children
function select_uls(){
$("ul").filter(function(){
var obj=$(this).children();
return obj.length==$(this).children($(this).children().get(0).tagName).filter(
function(){
return obj.get(0).className==$(this).get(0).className; //这个this是指谁?有点不理解
}
).length
}).addClass("red");
}
</script>能用,谢谢高手,就是有点糊涂this的指向
<ul>
<li>hello</li>
<li>world</li>
<div>div</div>
</ul>
到了页面上变成了
<ul>
<li>hello
<li>world
<div>div</div></li>
</ul>
注意看这里,UL内部嵌套的div被自动加在了li中,并且每个UL中的LI,只有在最后的时候关闭了标签,这样导致在用jq解析的时候,无法判断出,内部的平级元素是否都是LI,但是在FIREFOX下没有这个问题。源码是什么,解析出来还是什么!
所以你的第一个条件就无法满足了!