提问人:Dorian Feyerer 提问时间:10/2/2023 最后编辑:Dorian Feyerer 更新时间:10/15/2023 访问量:90
GetElementyID(“ID”).innerHTML = 值无法按预期工作 [已关闭]
GetElementyID("ID").innerHTML = value doesn´t work as expected [closed]
问:
我尝试在顶部导航栏中更改 HTML 中字符串的文本值和颜色(img ressource 已删除)。
这里有什么错误?如果 ELement 嵌套在类中,则引用 ELement 的 ID 就足够了吗?目前这种方法不起作用(在 HTML 中没有变化)。
通过导航栏(选择语言)将 HTML 页面上的文本值替换为自定义/翻译文本将是一个快速测试。
故障说明:
单击按钮元素时,文本元素不会更改。
<!DOCTYPE html>
<html>
<meta name="viewport" content="width=device-width, initial-scale=1">
<head></head>
<style>
.topnav {
overflow: hidden;
width: 645px;
background-color: white;
border-top: 1px solid black;
border-bottom: 1px solid black;
border-right: 1px solid black;
position: center;
margin-left: -32px;
}
.topnav a {
float: left;
color: black;
background-color: white;
text-align: center;
padding: 10px 8px;
text-decoration: none;
text-align: center;
font-weight: 600;
font-size: 16px;
border-left: 1px solid black;
}
.topnav a:hover {
background-color: darkgrey;
color: white;
cursor: pointer;
}
div a img {
width: 21px;
height: 12px;
margin-left: 5px;
}
</style>
<body>
<script>
function funcAT(){
document.getElementById("TEST1").innerHTML ="TestOfFunction";
document.getElementById("TEST1").style.color = "red";
}
function funcDE(){
document.getElementById("TEST2").innerHTML ="TestOfFunction 2";
document.getElementById("TEST2").style.color = "red";
}
</script>
<div class="topnav">
<a class="lang_btn"><i class="fa fa-commenting-o"></i> Verfügbare Sprachen und Länder</a>
<a><img id="AT" onclick="funcAT()" src="..."> AT</a>
<a><img id="DE" onclick="funcDE()" src="..."> DE</a>
<a><img id="PL" onclick="funcPL()" src="..."> PL</a>
<a><img id="RO" onclick="funcRO()" src="..."> RO</a>
<a><img id="UK" onclick="funcUK()" src="..."> UK</a>
</div><br>
<p id="TEST" >predefined value</p>
<p id="TEST1">predefined value 1</p>
<p id="TEST2">predefined value 2</p>
</body>
</html>
答:
1赞
Dorian Feyerer
10/2/2023
#1
解决方法:
使用按钮而不是 img+text 作为顶部导航栏元素,因为在实际方法中,只有在直接单击 img 元素时才会发生效果。
不幸的是,我没有注意到这一点,因为我在功能方面将整个元素解释为一个按钮(但没有以这种方式实现它,而是作为单独的 a 和 img 元素 ->所以只有图像响应点击)。
因此,没有错误的行为,而是不正确的实现。
感谢您的帮助!
评论
1赞
KIKO Software
10/2/2023
将 onclick 处理程序附加到元素而不是元素也会有所帮助。<a>
<img>
-1赞
Siamak Rasouli
10/2/2023
#2
您设置了 OnClick On 标签,因此您必须单击以替换和更改标签内文本的颜色。
我想你想创建一个按钮,为此,你需要将 onlick 从移动到标签。<img>
<img>
<p>
<img>
<a>
<a onclick="funcAT()"><img id="AT" src="..."> AT</a>
评论