gpt4 book ai didi

javascript - 更改父类 onfocus

转载 作者:行者123 更新时间:2023-11-30 18:07:57 27 4
gpt4 key购买 nike

我有一个字段,我想在其中选择一个输入框来更改字段的背景颜色。我尝试通过一个简单的 onfocus 操作更改输入父级的 html 类,即字段,但我没有看到任何反应。

我有以下内容,并仔细检查了类名。

在脚本中:

function changefield()
{
document.getElementById(this.parentNode).className = "temp_field";
}

在 html 中:

<input class="type1" type="text" size="30" onFocus="changefield()">

这感觉就像我犯了一些相当明显的初学者错误,但我已经有两个人玩过它但无济于事。

最佳答案

两件事:

  • changefield 中,this 指的是 window,它没有 parentNode 属性,所以你正在将 undefined 传递给 getElementById
  • 即使它有一个父节点,this.parentNode 也会返回一个 DOM 节点,而 getElementById 需要一个字符串。

一个快速的解决方案是将您要修改的 DOM 元素传递给您的函数:

function changefield(element) {
element.className = "temp_field";
}

onFocus="changefield(this.parentNode)"

即使父节点有 ID,如果您已经有对 id 的引用(.parentNode),搜索该节点也没有意义。

有关事件处理和如何绑定(bind)事件处理程序的更多信息,请查看 the excellent articles at quirksmode.org .

关于javascript - 更改父类 onfocus,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15347699/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com