繁体   English   中英

如何在HTML属性值内使用JS变量

[英]How to use JS variable inside HTML attribute value

我想编写JavaScript代码并在Python+Selenium脚本中使用它。 目标URLMicrosoft帐户登录页面 在这里,我想强制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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM