在JavaScript onClick中:为什么笔划出现然后消失

In JavaScript onClick: why stroke appears then disappears?

本文关键字:然后 消失 为什么 JavaScript onClick      更新时间:2023-09-26

我正在使用此代码,但当我单击时,笔划会出现并直接消失

var tag = document.getElementById("tag");
function result()
{
  $(tag.value).css('border','1px solid red');
}

<button id="showBtn" onclick='result()'>Show</button>

但当我将事件类型更改为"onmouseover"时,笔划会保持不变,不会消失。

正如jfriend00所说,您调用document.getElementById太早了。尝试:
function result() {
    $(tag).css("border", "solid 1px red");
}
var tag;
$(function() {
   tag = document.getElementById("tag"); 
});

在Thilo评论后编辑:

var tag;
$(function() {
   tag = document.getElementById("tag"); 
});
function result() {
    $("#" + tag.value).css("border", "solid 1px red");
}

假设您的HTML类似于:

<input id="tag" value="rect"></input>
<button id="showBtn" onclick='result();'>Show</button>
<div id="rect">This is a Div</div>