我需要测试是否存在 javascript 对象属性。
例如查看 jquery 扩展是否可用。下一行在浏览器控制台中返回undefined :
$("#myid").toc
我想在 transcrypt 中测试这个值,我试过:
getattr(S ("#myid"), "toc") 是无
但它不起作用:-/
我需要测试是否存在 javascript 对象属性。
例如查看 jquery 扩展是否可用。下一行在浏览器控制台中返回undefined :
$("#myid").toc
我想在 transcrypt 中测试这个值,我试过:
getattr(S ("#myid"), "toc") 是无
但它不起作用:-/
以下将起作用:
HTML:
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
</head>
<body>
<div id="myid"></div>
<script src="__javascript__/test.js"></script>
</body>
</html>
转密:
__pragma__ ('alias', 'S', '$')
print (111, getattr (S ('#myid') [0], 'style') != None)
print (222, getattr (S ('#myid') [0], 'toc') != None)
console.dir (S ('#myid') [0])
它打印:
111 True
222 False
div#myid
作为替代方案,您始终可以在 Transcrypt 中嵌入 JS:
__pragma__ ('js', '{}', '''
console.log (333, $("#myid")[0].style != undefined);
console.log (444, $("#myid")[0].toc != undefined);
''')
哪个打印:
333 true
444 false
顺便说一句,我更喜欢 Python 语法。但在极端情况下,JS 总是作为一种逃避的方式存在,尽管你可能永远不需要它。