[英]Search and replace “-p”
如何在巨大的html的id中搜索完全“-p”并在其后添加一个计数器即-p + counter。 请帮忙。
如果您要求的是在所有ID中将-p替换为-pXX,其中XX是一个增加的计数器,您可以这样做:
var id, counter = 1;
var elems = document.getElementsByTagName("*");
for (var i = 0, len = elems.length; i < len; i++) {
id = elems[i].id;
if (id && id.indexOf("-p") != -1) {
elems[i].id = id.replace("-p", "-p" + counter++);
}
}
如果您只是尝试添加文本“+ counter”,那么您可以这样做:
var id;
var elems = document.getElementsByTagName("*");
for (var i = 0, len = elems.length; i < len; i++) {
id = elems[i];
if (id && id.indexOf("-p") != -1) {
elems[i].id = id.replace("-p", "-p+counter");
}
}
如果您想要的(您的原始帖子不是很清楚)是仅替换整个id为“-p”的id值,那么您可以使用:
var counter = 1;
var elems = document.getElementsByTagName("*");
for (var i = 0, len = elems.length; i < len; i++) {
if (elems[i].id == "-p") {
elems[i].id += counter++);
}
}
好的,第四次猜测你想要什么(基于你的评论)如果你想要-p替换只有当p后面没有另一个字母时:
var id, counter = 1;
var elems = document.getElementsByTagName("*");
for (var i = 0, len = elems.length; i < len; i++) {
id = elems[i].id;
if (id) {
elems[i].id = id.replace(/\-p([\W_]|$)/, "-p" + counter++ + "$1");
}
}
而且,这是一个演示: http : //jsfiddle.net/jfriend00/Ug7VN/
这个最后一个的jQuery版本可以这样工作:
var counter = 1;
$('[id]').each(function() {
this.id = this.id.replace(/\-p([\W_]|$)/, "-p" + counter++ + "$1");
});
使用jQuery,这应该是这样简单:
var counter = 0;
$('[id*="-p"]').each(function() {
$(this).attr('id', $(this).attr(id).replace('-p', '-p' + counter++));
});
编辑:如果您只想要一个id 以 -p
结尾的项目,您可以使用以下内容(请注意不同的选择器):
var counter = 0;
$('[id$="-p"]').each(function() {
$(this).attr('id', $(this).attr(id).replace(/-p$/, '-p' + counter++));
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.