18910140161

JavaScript--我试图在页面加载后向元素添加OnClick函数,然后使OnClick函数更改单独元素的文本-堆栈溢出

顺晟科技

2022-10-19 12:29:46

121

我试图在页面加载时向4个元素元素添加OnClick函数,然后使这些OnClick函数更改单独元素的文本。我尝试创建一个名为AddClick的函数,该函数指定elementID,然后设置OnClick属性和seperate函数。(对于每一个我想在单击时激活新函数的元素,我都这样做了四次。

然后我要求AddClick在页面加载时运行。

然后我创建了一些函数,这些函数将替换seperate元素的旧文本。(应该将这些设置为在单击元素时运行。

如果这是错误的方法/如果我不清楚,请提前道歉。第一次在这里发帖,感谢您的帮助。

对于HTML,我试图更改的文本位于带有ID的div中,但h4没有特定的ID,我无法添加。

以下是我尝试实现的JavaScript:

<script type="text/javascript">
function AddClick(){
    //Name & Number
    document.getElementById("o_5794738").setAttribute('onclick', "NewText()");
    //Number
    document.getElementById("o_5794733").setAttribute('onclick', "OldText()");
    //Name
    document.getElementById("o_5794723").setAttribute('onclick', "OldText()");
    //None
    document.getElementById("o_5794728").setAttribute('onclick', "OldText()");
};

window.onload = AddClick;

function NewText() {
    document.getElementById("pt_fc_775338").getElementsByTagName(h4).innerHTML = "<h4>New Text</h4>"; 
}
function OldText() {
    document.getElementById("pt_fc_775338").getElementsByTagName(h4).innerHTML = "<h4>Old Text</h4>";
}

非常感谢任何帮助。


顺晟科技:

无需使用添加事件,您可以使用直接添加click事件(顺便说一句,它不用于添加任何事件)

只需如下所示:

有关。addeventlistener()的更多信息,请阅读本文

下面是演示片段:

您可以尝试以下操作:

<script type="text/javascript">
function AddClick(){
    //Name & Number
    document.getElementById("o_5794738").setAttribute('onclick', "NewText()");
    //Number
    document.getElementById("o_5794733").setAttribute('onclick', "OldText()");
    //Name
    document.getElementById("o_5794723").setAttribute('onclick', "OldText()");
    //None
    document.getElementById("o_5794728").setAttribute('onclick', "OldText()");
};

window.onload = AddClick;

function NewText() {
    document.getElementById("pt_fc_775338").getElementsByTagName(h4).innerHTML = "<h4>New Text</h4>"; 
}
function OldText() {
    document.getElementById("pt_fc_775338").getElementsByTagName(h4).innerHTML = "<h4>Old Text</h4>";
}

我在https://www.w3schools.com/jsref/event_onclick.asp

上找到了这个示例
  • TAG:
相关文章
我们已经准备好了,你呢?
2024我们与您携手共赢,为您的企业形象保驾护航