如何将Javascript变量值显示到HTML href标记

如何将Javascript变量值显示到HTML href标记,javascript,html,url-rewriting,Javascript,Html,Url Rewriting,我正在重写我的url和传递到url的类别名称。现在我正在使用JS函数创建Url友好字符串: function getUrlFriendlyString(str) { // convert spaces to '-' //alert(str); str = str.replace(/ /g, "-"); // Make lowercase str = str.toLowerCase(); // Remove characters that are not alp

我正在重写我的url和传递到url的类别名称。现在我正在使用JS函数创建Url友好字符串:

function getUrlFriendlyString(str)
{
   // convert spaces to '-'
   //alert(str);
   str = str.replace(/ /g, "-");
   // Make lowercase
   str = str.toLowerCase();
   // Remove characters that are not alphanumeric or a '-'
   str = str.replace(/[^a-z0-9-]/g, "");
   // Combine multiple dashes (i.e., '---') into one dash '-'.
   str = str.replace(/[-]+/g, "-");
   return str;
}
现在在HTML页面上,这个JS函数在JS中给出一个字符串值,就像

<? $cat_name= 'Personalized Chocolates / Gift'; ?>
<script>var url=getUrlFriendlyString("<?=$cat_name;?>");</script>
知道如何使用js字符串显示正确的url吗


我可以将var url值保存在PHP变量中

您不能包含诸如。。。在属性值的中间。

如果要采用这种方法,则需要使用JavaScript写出整个锚元素

另一种方法是在HTML中设置默认值,然后在元素完成后出现的脚本中使用DOM访问元素


更好的方法是在PHP中重写getUrlFriendlyString函数,并在服务器上运行它。

这对我很有效

您可以在php变量中获取var url值并在href标记中使用

<? $cat_name= 'Personalized Chocolates / Gift'; ?>
<script>var url=getUrlFriendlyString("<?=$cat_name;?>");</script>

这不会在href内为您提供相同的o/p,会为您提供o/p您的js代码,因为在$m内js代码已保存,href不会将js转换为字符串o/p


我希望这对您有用:

这可能会帮助您在HTML代码中重定向到JS函数

<a onclick="redirectTo();">click here</a>

element.href=您的变量;我可以在php中这样做,我也在这样做,但我希望在客户端使用更少的服务器资源。我们在客户端转移了很多可能的功能亲爱的谢谢你的回答。我可以在php中这样做,我也在这样做,但我希望在客户端使用更少的服务器资源。我们在客户端转移了很多可能的功能,这是一种虚假的经济。从一开始,这种操作相对来说比较便宜。现在服务器资源也很便宜。将其移动到客户端将增加代码在多个目标环境下运行的复杂性,从而增加开发和测试成本,并增加失败的可能性,因为JS可能因网络故障/垃圾邮件过滤错误/移动连接丢失/用户禁用JS/等而无法运行。
http://localhost/ecom/category/<script>document.writeln(url);</script>/105
http://localhost/ecom/category/personalized-chocolates-gift/105
<? $cat_name= 'Personalized Chocolates / Gift'; ?>
<script>var url=getUrlFriendlyString("<?=$cat_name;?>");</script>
<?php
        $m="<script>document.write(url);</script>";
        echo $m; // output is : personalized-chocolates-gift
   ?>
<a onclick="redirectTo();">click here</a>