将<script>中的字符串插入<a href="">

时间:2015-12-15 15:54:01

标签: javascript html href

我有以下脚本:

&#xA;&#xA;
 &lt; script&gt; var b = document; var c = varName; b.write(c);&lt; / script&gt;&#xA;  
&#xA;&#xA;

我希望将&lt; script&gt; 标记中的值传递给<代码> name 链接中的URL参数,代替 *

&#xA;&#xA;
 `&lt; a href =“whatsapp:// send?text ='您好这是我的演示网站。访问http://example.com/ex.html?name=ABC*'"> WhatsApp&lt; / a&gt;`&#xA;  
&#xA;&#xA;

我的尝试导致获得整个脚本字符串:

&#xA;&# xA;

&lt; a href =“whatsapp:// send?text ='Hello这是我的演示网站。访问http://example.com/ex.html?name=ABC<script>var b = document; var c = varName; b.write(c);&lt; / script&gt;'“&gt; WhatsApp&lt; / a&gt;

&#xA;

2 个答案:

答案 0 :(得分:5)

不,您无法在HTML属性中插入脚本。您必须首先编写完整的HTML:

<a id="caption" href="whatsapp://send?text=Hello This is My Demo Site. Visit http://example.com/ex.html">link text</a>

...然后,您可以从javascript:

修改它
<script>
    var a = document.getElementById("caption");
    var question = "%3F";
    var equal = "%3D";
    a.href += question + "name" + equal + "ABC" + lusername;
</script>

请注意,我故意逃脱&#34;?&#34;和&#34; =&#34;在形成参数时,因为我知道它们是http://www.example.com网址的参数,而不是whatsapp://send网址的参数。

答案 1 :(得分:0)

如果在页面加载时知道varName的值,并且在HTML中的script标记中设置的值超过了您想要链接的位置,那么您只需输出整个链接脚本:

<script>
document.write(
    '<a href="whatsapp://send?text=\'Hello This is My Demo Site. Visit http://example.com/ex.html%3Fname%3DABC' +
    varName + '\'"> WhatsApp </a>'
);
</script>

如果varName是动态的,那么每次更改时,您都希望执行Little Santi showed you之类的操作。另请参阅他/她关于在?链接文字上对=example.com进行编码的观点,我在上面已经应用过。