我从一本书中复制这个(因为它“应该”起作用),我不能让这个功能起作用,它可能是重复的但我搜索了一个答案而且无法使它工作。
“未捕获的TypeError:无法设置未定义的属性'borderColor'”
它可能是一些简单的东西,但{i}我相信是我尝试将其设置为数组和对象的问题,但我真的不明白,任何解释简单的解释都会非常感激。
var boundary = "Upload----" + DateTime.Now.Ticks.ToString();
MultipartFormDataContent form = new MultipartFormDataContent(boundary);
StringContent content = new StringContent(bodyJson);
content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json");
form.Add(content, "application/json");
var imageContent = new ByteArrayContent(image);
imageContent.Headers.ContentType = MediaTypeHeaderValue.Parse("image/jpeg");
form.Add(imageContent, "image/jpeg", "image.jpg");
var responseTask = _httpClient.PostAsync(url, form).Result;
to
function changeBorder(element, to){
element.style.borderColor = to;
}
var contentDiv = document.getElementById('color');
contentDiv.onmouseover = function(){
changeBorder('red');
};
contentDiv.onmouseout = function(){
changeBorder('black');
};
我只想删除错误消息并获取执行某些功能的功能。
答案 0 :(得分:3)
您需要设置 this 并更改您的功能:
contentDiv.onmouseover = function(){
changeBorder(this, 'red');
};
contentDiv.onmouseout = function(){
changeBorder(this, 'black');
};
如果没有关键字 this ,则无法找到它。请记住,在您的功能中,您正在分享元素:
function changeBorder(element, to){
element.style.borderColor = to;
}
答案 1 :(得分:0)
您的NumberFormatException
方法需要2个参数,但您始终只使用一个参数。
试试这个:
changeBorder
此外,如果
,这可能不起作用changeBorder(contentDiv, '[color]');
语句在DOM准备好之前执行。
答案 2 :(得分:0)
changeBorder(' red') - >方法内的var元素设置了一个字符串(' red')。字符串没有样式属性,因此element.style未定义,您不能使用未定义对象的属性(如borderColor)
答案 3 :(得分:0)
您必须稍微修改一下代码。请检查以下代码:
<html>
<head>
<style>
.box{
border: 1px solid red;
background-color:pink;
padding: 10px;
}
.row {
border: 1px solid #000;
}
</style>
</head>
<body>
<div class="row" id="color">
<div class="element">1</div>
</div>
<script type="text/javascript">
function changeBorder(element, to){
element.style.borderColor = to;
}
var contentDiv = document.getElementById('color');
alert(contentDiv);
contentDiv.onmouseover = function(){
changeBorder(contentDiv,'red');
};
contentDiv.onmouseout = function(){
changeBorder(contentDiv, 'black');
};
</script>
</body>
</html>