对于在HTML中多次出现的div:
<div class="myclass">abc</div>
<div class="myclass">abc def</div>
...
如何为所有事件取代“abc”? (我找到了替换第一次出现的资源而不是剩下的资源)
这是我的javascript方法代码
<script>
function addLoadEvent(func) {
var oldonload = window.onload;
if (typeof window.onload != 'function') {
window.onload = func;
} else {
window.onload = function() {
if (oldonload) {
oldonload();
}
func();
}
}
}
addLoadEvent(function() {
oldText = document.getElementsByClassName("myclass").innerHTML;
for (i = 0; i<oldText.length; i++){
newText = oldText[i].innerHTML;
newText = newText.replace(/abc/g, "123");
oldText[i].innerHTML = newText;
});
</script>
答案 0 :(得分:3)
这是解决方案:
问题出在这一行:oldText = document.getElementsByClassName("myclass").innerHTML;
.innerHTML
方法返回HTML
个内容。
您只需按类名获取元素,然后获取nodeList
。
oldText = document.getElementsByClassName("myclass");
function addLoadEvent(func) {
var oldonload = window.onload;
if (typeof window.onload != 'function') {
window.onload = func;
} else {
window.onload = function() {
if (oldonload) {
oldonload();
}
func();
}
}
}
addLoadEvent(function() {
oldText = document.getElementsByClassName("myclass");
for (i = 0; i<oldText.length; i++){
newText = oldText[i].innerHTML;
newText = newText.replace(/abc/g, "123");
oldText[i].innerHTML = newText;
}
});
&#13;
<div class="myclass">abc</div>
<div class="myclass">abc def</div>
&#13;
答案 1 :(得分:0)
定位每个类,拆分值,删除0索引并连接。
$('.myclass').each(function(){
var data = $(this).val();
var data_array = data.split();
var new = '';
for(var i=1; i<data_array.length; i++){
var _new += ' '+data_array[i];
}
$(this).val(_new);
});