在锚标记的 href 属性中执行 JavaScript

executing javascript inside href attribute of anchor tag

本文关键字:属性 执行 JavaScript href      更新时间:2023-09-26

我在Hrefs上检查了很多,但无法获得相关的东西。

我正在尝试在代码中执行此操作,该代码实际上是自定义控件类

writer.Write("<a href='javascript:document.location.href?" + filter.ParameterName + "=" + filter.QueryValue + "'>" + filter.UserVisibleValue + "</a>|&nbsp;");

现在这让我在锚点上方的悬停上得到了这样的东西'document.location.href?测试 one=2013',当我单击它时,它会抛出一个明显的 javascript 错误"语法错误:缺少:在条件表达式中",因为它将其作为条件运算符,因此发现:缺失。

只想计算 document.location.href(当前网址)并将值放入我使用它的位置。

我知道我可以简单地调用一个 javascript 函数,并在该函数中设置 href,但我可以这样做吗?

试试这个:

writer.Write("<a href='javascript:window.location = document.location.href?" + filter.ParameterName + "=" + filter.QueryValue + "'>" + filter.UserVisibleValue + "</a>|&nbsp;");

请注意,您可能必须根据需要转义值,否则 JavaScript 将变得无效。为了证明上述方法有效,您可以在任何 HTML 页面中复制粘贴以下更简单的示例并查看它的工作原理:

<a href="javascript:window.location=window.location + '?a=5'">bla</a>