我们举个例子:
<div class="gg-1"></div> // 1
<div class="gg-1"></div> // 1
<div class="gg-1"></div> // 1
<div class="gg-3"></div> // 3
<div class="gg-3"></div> // 3
<div class="gg-5"></div> // 5
<div class="gg-5"></div> // 5
我如何更新这些div类以获得以下结果?
<div class="gg-1"></div> // 1
<div class="gg-1"></div> // 1
<div class="gg-1"></div> // 1
<div class="gg-2"></div> // 2
<div class="gg-2"></div> // 2
<div class="gg-3"></div> // 3
<div class="gg-3"></div> // 3
需要纯Javascript(JQuery作为附加)。
我的下面的函数可以帮助您按类添加元素:
function scn$(container,selectorTag,prefix) {
var items = [], myPosts = document.getElementById(container).getElementsByTagName(selectorTag);
for (var i = 0; i < myPosts.length; i++) {
// Omit Undefined Null Check
if (myPosts[i].className.lastIndexOf(prefix,0) === 0) {
items.push(myPosts[i]);
}
}
return items;
}
所以现在我们可以按scn$('container','div','gg-')
选择我们的元素。
下一步是什么?有什么想法/线索吗?
答案 0 :(得分:1)
尝试以下方法并告诉我,
DEMO: http://jsfiddle.net/pmc3g/
(function() {
function scn$(container, selectorTag, prefix) {
var items = [],
myPosts = document.getElementById(container).getElementsByTagName(selectorTag);
var prevClass = null, curVal = 0;
for (var i = 0; i < myPosts.length; i++) {
var curClass = myPosts[i].className;
// Omit Undefined Null Check
if (curClass.lastIndexOf(prefix, 0) === 0) {
if (prevClass != curClass) {
prevClass = curClass;
curVal++;
}
myPosts[i].className = prefix + curVal;
items.push(myPosts[i]);
console.log(myPosts[i].className);
}
}
return items;
}
scn$('container', 'div', 'gg-');
})();