JS分割链接!

李尸尸 2017-09-08 07:37:40
例:<a href="aa.php?item=x,y">x,y</a>想通过JS变成<a href="aa.php?item=x">x</a>,<a href="aa.php?item=y">y</a>
求个解决方法。
...全文
322 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
李尸尸 2017-09-09
  • 打赏
  • 举报
回复
引用 5 楼 jslang 的回复:

<div id="test">
<a href="aa.php?item=x">x</a><br>
<a href="aa.php?item=x,y">x,y</a><br>
<a href="aa.php?item=x,y,z">x,y,z</a>
</div>

<script type="text/javascript">
document.getElementById("test").innerHTML = document.getElementById("test").innerHTML.replace(/(<a href=\".+?=)(.+?)(\">)(.+?)(<\/a>)/g,function (s,a,b,c,d,e) {
	var arr = [];
	b = b.split(",");
	d = d.split(",");
	for (var i = 0; i < b.length; i++) {
		arr.push(a+b[i]+c+d[i]+e);
	}
	return arr.join(",");
});

</script>
特别感谢,终于解决了
李尸尸 2017-09-09
  • 打赏
  • 举报
回复
引用 5 楼 jslang 的回复:

<div id="test">
<a href="aa.php?item=x">x</a><br>
<a href="aa.php?item=x,y">x,y</a><br>
<a href="aa.php?item=x,y,z">x,y,z</a>
</div>

<script type="text/javascript">
document.getElementById("test").innerHTML = document.getElementById("test").innerHTML.replace(/(<a href=\".+?=)(.+?)(\">)(.+?)(<\/a>)/g,function (s,a,b,c,d,e) {
	var arr = [];
	b = b.split(",");
	d = d.split(",");
	for (var i = 0; i < b.length; i++) {
		arr.push(a+b[i]+c+d[i]+e);
	}
	return arr.join(",");
});

</script>
alert时,是分割开了,但是鼠标移至链接时没有分开
天际的海浪 2017-09-08
  • 打赏
  • 举报
回复

<div id="test">
<a href="aa.php?item=x">x</a><br>
<a href="aa.php?item=x,y">x,y</a><br>
<a href="aa.php?item=x,y,z">x,y,z</a>
</div>

<script type="text/javascript">
document.getElementById("test").innerHTML = document.getElementById("test").innerHTML.replace(/(<a href=\".+?=)(.+?)(\">)(.+?)(<\/a>)/g,function (s,a,b,c,d,e) {
	var arr = [];
	b = b.split(",");
	d = d.split(",");
	for (var i = 0; i < b.length; i++) {
		arr.push(a+b[i]+c+d[i]+e);
	}
	return arr.join(",");
});

</script>
李尸尸 2017-09-08
  • 打赏
  • 举报
回复
引用 3 楼 jslang 的回复:

var str = '<a href="aa.php?item=x,y">x,y</a>';
var arr = [];
str.replace(/(<a href=\".+?=)(.+?)(\">)(.+?)(<\/a>)/g,function (s,a,b,c,d,e) {
	b = b.split(",");
	d = d.split(",");
	for (var i = 0; i < b.length; i++) {
		arr.push(a+b[i]+c+d[i]+e);
	}
});
alert(arr);
我是真不会JS,碰到个难题,想解决一下,有个列表 <a href="aa.php?item=x">x</a> <a href="aa.php?item=x,y">x,y</a> <a href="aa.php?item=x,y,z">x,y,z</a> 想通过原生JS或JQ,当遇到有,的时候,分别点击是不同的链接 想通过JS变成<a href="aa.php?item=x">x</a>,<a href="aa.php?item=y">y</a>
天际的海浪 2017-09-08
  • 打赏
  • 举报
回复

var str = '<a href="aa.php?item=x,y">x,y</a>';
var arr = [];
str.replace(/(<a href=\".+?=)(.+?)(\">)(.+?)(<\/a>)/g,function (s,a,b,c,d,e) {
	b = b.split(",");
	d = d.split(",");
	for (var i = 0; i < b.length; i++) {
		arr.push(a+b[i]+c+d[i]+e);
	}
});
alert(arr);
似梦飞花 2017-09-08
  • 打赏
  • 举报
回复

<body>
<a href="aa.php?item=x,y">x,y</a>
<script>
    function change(dom){
        const item=dom.href.match(/item=([^?&=]+)/);
        const htmls=item&&item[1].split(',').map(function(item){
            cloneNode=dom.cloneNode(true);
            cloneNode.href=cloneNode.href.replace(/(item=)[^?&=]+/,'$1'+item);
            cloneNode.innerHTML=item;
            return cloneNode.outerHTML;
        });
        dom.outerHTML=htmls.join('');
    }
    change(document.querySelector('a'));
</script>
</body>
hongmei85 2017-09-08
  • 打赏
  • 举报
回复
这样?

				var str = '<a href=" ">x,y</a >';
				re = /<a href="(.+?)\?item=(.+?)">(.+?)<\/a>/;
				result = re.exec(str);
				if (result)
				{
					var kkk = result[3].split(',');
					var jjj = result[2].split(',');

					var newstr = '';
					for (var i=0; i<kkk.length; i++)
					{
						newstr += '<a href="' + result[1] + '?item=' + jjj[i] + '">' + kkk[i] + '</a >,';
					}
					document.write(newstr);
				}
				

87,997

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧