jQuery使用正则在指定位置插入字符串

今天做一功能,大致功能是这样子的:一个UL里面有多个LI,根据页面也高计算一次性能容纳多少个LI,要是LI的总数超过每次容纳的,就弄一个新的UL。因为预先不知道每页能容纳多少个LI,所以需要在后台返回的一大堆LI里面找到正确的LI然后添加UL。找是找到了但是不知道怎么加,就在网上搜了一下,还搜到了,以下是链接及代码:

链接:http://qiaolevip.iteye.com/blog/2036394

代码:

// 设置表格字体颜色
$(".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

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值