我正在尝试使用JavaScript替换DIV标记中的某些文本,但标记只有一个类而不是ID。我试过了:
document.getElementByClassName('theClassName').innerHTML = 'text i want to insert in place of the existing text';
这没有用,我也尝试了上面但使用getElementById
,但这也没有用。
更新:
我想我需要解释更多(对不起,我是一名n00b程序员)。我正在做的是使用Swift将网站加载到WKWebView中,然后在加载的页面末尾注入一个.JS文件。在那个.JS文件中,我正在尝试执行上述操作但没有成功。我可以找到一个DIV并隐藏它到目前为止,但能够替换文本是证明很难。
这是我上次尝试过的,但这也不起作用:
var classes = document.getElementsByClassName("title-random");
for(var i=0;i<classes.length; i++) {
if(classes[i].innerHTML == "The old text") {
classes[i].innerHTML = "the new text";
break;
}
}
我甚至尝试过通用的“查找此文本”并替换代码但没有效果
答案 0 :(得分:0)
如果你有几个div的类,你必须通过这样的数组访问:
<!DOCTYPE html>
<html>
<body>
<div class="example">First div element with class="example".</div>
<div class="example">Second div element with class="example".</div>
<p>Click the button to change the text of the first div element with class="example" (index 0).</p>
<button onclick="myFunction()">Try it</button>
<p><strong>Note:</strong> The getElementsByClassName() method is not supported in Internet Explorer 8 and earlier versions.</p>
<script>
function myFunction() {
var x = document.getElementsByClassName("example");
x[0].innerHTML = "Hello World!";
}
</script>
</body>
</html>