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

相关推荐