我尝试在使用移动设备时进行一些CSS更改,但未知变量显示为未定义。
我搜索了许多教程,找到了许多不同的解决方案,但是我是javascript和html的初学者,并不完全了解它们。我正在使用chrome并更改用户代理以查看在移动设备上会发生什么。
implementation 'com.google.android.libraries.places:places:1.1.0'
在桌面上它应该显示:
<!DOCTYPE html>
<html>
<body>
<p id="demo">Show</p>
<div id="device"></div>
<script type="text/javascript">
var innerHTML="";
testExp = new RegExp('Android|webOS|iPhone|iPad|' +
'BlackBerry|Windows Phone|' +
'Opera Mini|IEMobile|Mobile' ,
'i');
if (testExp.test(navigator.userAgent))
document.getElementById("device").innerHTML =
show();
else
document.getElementById("device").innerHTML =
hide();
function show() {
document.getElementById("demo").style.display = "none";
}
function hide() {
document.getElementById("demo").style.visibility = "visible";
}
</script>
<p>End</p>
</body>
</html>
但是它显示:
Show
End
在移动设备上,“节目”消失了。但是未定义的不是。
答案 0 :(得分:1)
问题来自此行:document.getElementById("device").innerHTML = hide();
hide
函数没有返回值,因此,如果使用它返回的数据,因为它不返回任何内容,因此会将undefined
放在#device
元素内。
答案 1 :(得分:0)
感谢您的帮助,我还是一个初学者,因此感谢您的支持。由于我不明白的原因,我必须先放点东西才能完成功能
我可能没有正确表达以上内容,请随时澄清