我正在尝试使用 javascript 更改我一直使用的购物车结帐页面上的一些文本。
我得到以下适用于标有 ID 的几件作品。问题是我要更改的其中一个部分是一个类,但我似乎无法让它工作。
对于让以下内容在类里面工作有什么帮助吗?谢谢
window.onload = function() {
var str = "Price per Unit";
el = document.getElementById('pricePerUnit');
el.innerHTML = str;
var date = new Date();
var hours = date.getHours();
if (hours >= 0 && hours < 24) {
el.innerHTML = str.replace("Price per Unit", "Price");
}
}
编辑:这是我要更改的代码,基本上我想将 $30 更改为 $30+$5/mo,该类只有一个元素
<td valign="top" align="center" class="unitprice">
<font size="2" face="Arial, Helvetica, sans-serif" color="">$30.00</font></td>
最佳答案
在 JavaScript 中通过类名获取元素并不像通过 ID 获取元素那么容易。一些浏览器有几个功能可以提供帮助,但不是全部。第一个函数是 getElementsByClass
,它在 Firefox 3 和最新版本的 Chrome、Safari 和 Opera 中受支持。但是,IE 8 及更低版本不支持它。还有 querySelector
和 querySelectorAll
,它将(分别)获取与 CSS 选择器匹配的一个或所有项目。大多数浏览器都支持这些,包括 IE 8,但不支持 IE 7 和更低版本。
最好的办法是使用像 jQuery 这样的库或 Prototype为您实现 DOM 查询。如果您不想这样做,唯一的跨浏览器解决方案是遍历所有“潜在”元素并检查 className
您正在寻找的类的每个属性。这方面的代码将根据元素的放置位置、哪些标签可能具有类名等而有所不同。
关于Javascript 替换帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4718476/