我在尝试使用以下代码更改某些innerHtml
时遇到问题:
var element = document.getElementByClass("productitemcell > a");
element.innerHTML = "Remover";
可以将innerHTML从一个名为“Remove”的链接更改为“Remover”并且它不起作用。
以下是它的页面:http://ooleiro.businesscatalyst.com/OrderRetrievev2.aspx
您必须购买一些产品才能访问此购物车页面。
答案 0 :(得分:3)
我认为你的意思是document.getElementsByClassName()
此方法将返回HTMLCollection
个对象。你可以抓住第一个元素:
var elements = document.getElementsByClassName('class');
var firstElement = elements[0];
参考:https://developer.mozilla.org/en-US/docs/Web/API/Document/getElementsByClassName
答案 1 :(得分:0)
该方法称为getElementsByClassName
(复数),并返回HTML元素的集合。您想要更改HTML中的哪一个?对于第一个?
此外,您不能在标准DOM方法中使用类似CSS选择器
编辑:显然,您希望在a
出现的所有事件中更改所有.productitemcell
个元素:
var pics = document.getElementsByClassName("productitemcell");
for(i=0; i<pics.length; i++) {
// loop over all elements with that class
var anchors = pics[i].getElementsByTagName("a");
for(j=0; j<anchors.length; j++) {
// loop over all anchor elements within the current class element
anchors[j].innerHTML = 'Remover';
}
}
答案 2 :(得分:0)
必须将课程改为
var removerprod = document.getElementsByClassName("remover");
for(i=0; i<removerprod.length; i++) {
// loop over all elements with that class
var anchors = removerprod[i].getElementsByTagName("a");
for(j=0; j<anchors.length; j++) {
// loop over all anchor elements within the current class element
anchors[j].innerHTML = 'Remover';
}
}
所以它也不会改变产品名称。剩下的唯一问题是它用ajax进行检索,每次刷新它再次更改为“删除”谢谢你的devnul69,我今天真的学到了很多关于js。