看看我这个js能优化吗? 本帖最后由 yaganblw 于 2013-01-14 14:37:08 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 感觉这个结构操作起来不是很灵活,参考一下这个:<div id="food"> <h1>蔬菜</h1> <div class="sub"> <a href="radish.html">萝卜</a> <a href="radish.html">萝卜</a> <a href="radish.html">萝卜</a> </div> <h1>蔬菜</h1> <div class="sub"> <a href="radish.html">萝卜</a> <a href="radish.html">萝卜</a> <a href="radish.html">萝卜</a> </div> <h1>蔬菜</h1> <div class="sub"> <a href="radish.html">萝卜</a> <a href="radish.html">萝卜</a> <a href="radish.html">萝卜</a> </div></div> 用正则替换,效率应该是没问题的 <dl id="food"> <dt>蔬菜</dt> <dd><a href="radish.html">萝卜</a></dd> <dd><a href="cabbage.html">大白菜</a></dd> <dt>水果</dt> <dd><a href="apple.html">苹果</a></dd> <dd><a href="banana.html">香蕉</a></dd> <dd><a href="orange.html"></a>橘子</dd> <dt>肉类</dt> <dd><a href="pork.html">猪肉</a></dd> <dd><a href="beef.html">牛肉</a></dd></dl> <script> $(function () { $("#food > dd").hide(); var url=location.href.match(/(\w+\.\w+)([?#].+)?$/)[1] ; var html=$("#food").html().split(/(?=<dt>)/i); va htmls=$.map(html,function(v,i){ return v.indexOf(url)!=-1? v.replace(/<dd[^>]+>/ig,'<dd style="display:block">'):v; }); $("#food").html( htmls.join('') ); });</script> var htmls=$.map(html,function(v,i){ ==> var htmls=$.map(html,function(v,i){ 少了个r $(function () { $("#food > dd").hide(); var url=location.href.match(/(\w+\.\w+)([?#].+)?$/)[1] ; var html=$("#food").html().split(/(?=<dt>)/i); var htmls=$.map(html,function(v,i){ return v.indexOf(url)!=-1? v.replace(/<dd[^>]+>/ig,'<dd style="display:block">'):v; }); $("#food").html( htmls.join('') ); }); 美工只是提供设计稿,html结构还需要js交互,所以这个完全可以自己来改。让美工重构一下css就行。这个可以跟他沟通,解释。 html结构没问题初始化隐藏dd,可以用css来做#food dd { display:none; } tomcat求解 Extjs combox显示值 求救:弹出窗口不显示图片 使用过Aptana的进来看下...... 批量替换 请问:哪位大虾有Aptana IDE的中文操作手册 关于鼠标经过,图片变化的问题 怎么实现特定图片悬停上出现提示 请教一下easyui linkbutton 的问题 页面返回和刷新问题 关于一个递归算法,我要求他被调用了多少次。 buffer.readUInt32BE 的问题
<h1>蔬菜</h1>
<div class="sub">
<a href="radish.html">萝卜</a>
<a href="radish.html">萝卜</a>
<a href="radish.html">萝卜</a>
</div>
<h1>蔬菜</h1>
<div class="sub">
<a href="radish.html">萝卜</a>
<a href="radish.html">萝卜</a>
<a href="radish.html">萝卜</a>
</div>
<h1>蔬菜</h1>
<div class="sub">
<a href="radish.html">萝卜</a>
<a href="radish.html">萝卜</a>
<a href="radish.html">萝卜</a>
</div>
</div>
<dt>蔬菜</dt>
<dd><a href="radish.html">萝卜</a></dd>
<dd><a href="cabbage.html">大白菜</a></dd>
<dt>水果</dt>
<dd><a href="apple.html">苹果</a></dd>
<dd><a href="banana.html">香蕉</a></dd>
<dd><a href="orange.html"></a>橘子</dd>
<dt>肉类</dt>
<dd><a href="pork.html">猪肉</a></dd>
<dd><a href="beef.html">牛肉</a></dd>
</dl>
<script>
$(function () {
$("#food > dd").hide();
var url=location.href.match(/(\w+\.\w+)([?#].+)?$/)[1] ;
var html=$("#food").html().split(/(?=<dt>)/i);
va htmls=$.map(html,function(v,i){
return v.indexOf(url)!=-1? v.replace(/<dd[^>]+>/ig,'<dd style="display:block">'):v;
});
$("#food").html( htmls.join('') );
});
</script>
少了个r
$(function () {
$("#food > dd").hide();
var url=location.href.match(/(\w+\.\w+)([?#].+)?$/)[1] ;
var html=$("#food").html().split(/(?=<dt>)/i);
var htmls=$.map(html,function(v,i){
return v.indexOf(url)!=-1? v.replace(/<dd[^>]+>/ig,'<dd style="display:block">'):v;
});
$("#food").html( htmls.join('') );
});
美工只是提供设计稿,html结构还需要js交互,所以这个完全可以自己来改。
让美工重构一下css就行。这个可以跟他沟通,解释。
初始化隐藏dd,可以用css来做
#food dd { display:none; }