[英]How to use JS variable inside HTML attribute value
我想编写JavaScript
代码并在Python+Selenium
脚本中使用它。 目标URL
是Microsoft帐户登录页面 。 在这里,我想强制onclick打开“ Terms of use
页面,而不是在新选项卡中,而是在新窗口中,因此我对适当的锚标记进行了一些更改。 我对JS
有一点经验,所以这是我现在得到的:
document.querySelector('a#ftrTerms').setAttribute("onclick", "window.open('https://login.live.com/gls.srf?urlID=WinLiveTermsOfUse&mkt=EN-US&vv=1600', '', 'width=800,height=600')")
document.querySelector('a#ftrTerms').removeAttribute('href')
...这很好(不是最好的方法,但是没关系)。 但是,重定向URL
是硬编码的,因此我使用以下方法首先从href
获取URL
,然后将其传递给属性:
var reference = document.querySelector('a#ftrTerms').getAttribute('href');
document.querySelector('a#ftrTerms').setAttribute("onclick", "window.open(\'' + reference + '\', '', 'width=800,height=600')")
document.querySelector('a#ftrTerms').removeAttribute('href')
...并且此代码不起作用:我的HTML
属性如下所示
onclick="window.open('' + reference + '', '', 'width=800,height=600')"
。
那么如何用reference
值替换reference
名称呢?
您只需要根据值计算字符串:
document.querySelector('a#ftrTerms').setAttribute("onclick", "window.open('" + reference + "', '', 'width=800,height=600')")
reference
不应在字符串中,而应与字符串的其余部分前缀和后缀连接
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.