Передать свойство в качестве аргумента в JavaScript
Я использую следующий код. Я хочу передать свойство bgcolor в качестве аргумента
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
<script type="text/javascript">
function myFunction(key,valu)
{
document.body.key=valu;
}
</script>
</head>
<body onLoad="myFunction('bgColor','red');">
</body>
</html>
Но это не работает.
4 ответа
Решение
Ты можешь попробовать
document.body[key]=valu;
ключ является строкой в этом случае.
Я предлагаю это, так как атрибут bgColor и onload - это 90-е
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
<script type="text/javascript">
function setStyle(key,valu) {
document.body.style[key] = valu;
}
window.onload=function() {
setStyle("backgroundColor","red")
}
</script>
</head>
<body>
</body>
</html>
Это не сработает никогда,
попробуй это
function change(key , value)
{
document.body.setAttribute(key, value);
}
Если вы передаете свойство в виде строки, вы должны использовать запись в квадратных скобках, а не точку:
function myFunction(key,valu)
{
document.body[key]=valu;
}