jQuery使用正则在指定位置插入字符串
今天做一功能,大致功能是这样子的:一个UL里面有多个LI,根据页面也高计算一次性能容纳多少个LI,要是LI的总数超过每次容纳的,就弄一个新的UL。因为预先不知道每页能容纳多少个LI,所以需要在后台返回的一大堆LI里面找到正确的LI然后添加UL。找是找到了但是不知道怎么加,就在网上搜了一下,还搜到了,以下是链接及代码:
代码:
// 设置表格字体颜色 $(".left_div > table:first > tbody > tr").each(function(i, v){ var $firstTd = $(this).find("td:first"); var firstTdText = $firstTd.text().replace(/(^.{2})/gm, '<span style="color:red;">$1</span>'); $firstTd.html(firstTdText); });
以下是我参照这个应用到项目中的代码:
//...... //data是通过AJAX从后台返回过来的字符串 var leftH=$(window.parent.document).height();//页面高度 var str=data.toString(); $DIV.html(unescape(str));//转码并添加到DIV中 $UL = $mainFram.find(".menualert[mid="+ pid +"]");//找到UL var liNum= $UL.find("li").length;//获取li的个数 var liH = parseInt($UL.find("li").eq(0).outerHeight());//获取第一个li的高度,来计算大概能容纳多少个li var tabSize = Math.floor(leftH/liH);//向下取整:每次能容纳几个 //分几页显示 var tabNum = Math.ceil(liNum/tabSize); var arrli=$UL.find("li"); if(liNum>0){ if(liNum>=tabSize){ for(var i=0;i<tabNum-1;i++){ $(arrli[(i*tabSize)+(tabSize-1)]).attr("cur",i); } $UL.html(($UL.html().replace(/(<LI.*?cur[\s\S]*?<\/LI>)/gm,"$1</UL><UL>")));//将有以<LI大头的,/LI>结尾的且含有cur的字符串后面添加</UL><UL>(其中$1就代表前面那一大堆东西) } $UL.show();//显示UL
相关推荐
杨德龙 2020-11-11
不要皱眉 2020-10-14
满地星辰 2020-09-16
梦的天空 2020-08-25
lrjnlp 2020-07-19
qidu 2020-07-05
flyingssky 2020-07-05
flyingssky 2020-06-27
RuoShangM 2020-06-17
天高任鸟飞 2020-06-13
Darklovy 2020-06-11
qidu 2020-06-08
Darklovy 2020-06-07
jyj00 2020-06-06
flyingssky 2020-06-04
山水沐光 2020-05-26
山水沐光 2020-05-25